On Thu, May 14, 2020 at 03:17:55PM -0400, johanns@nacs.net wrote:
>I finally have a newish Windows 10 64-bit laptop for a course and, 
>per instructions, have installed Git Bash that uses MinGW from:
>https://git-scm.com/downloads
>
>I also have a standard native Window build of GVIm 8.2 installed under:
>C:\Program File (x86)\Vim\vim82
>which I believe was the default for the standard installer.
>
>MinGW Git Bash ships with a built-in version of vim 8.2 as MinGW 
>program, but does not include GVim.
>
>What I am looking to do is to start the native Windows version of 
>GVim from a the Git Bash prompt.  Rather than change the path I hoped 
>to use a simple bash alias with a full path to start Windows GVim 
>8.2.  This works except that the bash prompt blocks as if Windows 
>GVim is a console program and the shell is waiting to get control 
>back of the console.  I am not entirely sure why the shell waits for 
>Gvim to exit.  The same technique I am trying to was recommended for 
>MSysGit Bash and Vim 7.4 by Albert Armea at:
>https://blog.albertarmea.com/post/115102365718/using-gvim-from-git-bash
>The best reason I can fathom is that I read elsewhere that MinGW is a 
>more minimalist UNIX implementation than say Cygwin and does not 
>implement fork() despite providing the header file.  Another 
>possibility is that some trick integration set up in the bundle for 
>Vim and GVim with Git is inadvertently fighting my attempt to use a 
>Windows executable.
>
>Due to how Bash is invoked by the Git Bash bundle, the easiest way 
>for me to configure user specific bash aliases or the like is to 
>create two files:
>
>~/.bash_profile is minimal and contains:
>
>if [ -f ~/.bashrc  ]; then. ~/bashrc; fi
>
>~/.bashrc has my local alias and a bash function gvim () as follows:
>
>gvim () { (env -u HOME -u VIM "/c/Program Files (x86)/vim/vim82/gvim.exe" "$*")& }
Self correction: To support multiple parameters properly I should use "$@" not 
"@*", which confuses Gvim, so:
~/.bashrc has my local alias and a bash function gvim () as follows:
gvim () { (env -u HOME -u VIM "/c/Program Files (x86)/vim/vim82/gvim.exe" "$@")& }
>Another place on the Internet, I found advice to unset the HOME and 
>VIM environment variables local to MinGW Bash as Windows GVIm 8.2 is 
>started, but I converted a simple bash alias to bash function.  While 
>the env command above would run GVim as a simple alias, the Git Bash 
>shell blocks waiting for GVim to exit.  The bash function is needed 
>so I can embed the env in a subshell with parentheses and push it to 
>the background, while still passing parameters to the inner command 
>line.  This bash function works, starting GVim and letting the shell 
>continue.  I do notice that this Windows GVim shows up as a process 
>when using the ps command at the Git Bash prompt.  I am not sure if 
>anything funny happens, based on the order I close Git Bash and GVim.
>
>I am not sure if this is the best approach.  Another idea I saw on 
>the Internet suggested using the bash disown built-in command, but I 
>was getting syntax errors.  I tried debugging with set -x in Git Bash 
>but extra commands I did not expect were being generated, probably 
>due to Git integration.  I decided that this method is best, for now, 
>but I am wondering if there are any gotchas lurking here.
>
>Thanks in advance for any advice.
-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- 
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20200514220224.GC1444%40linux.site.
Thursday, May 14, 2020
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment