Run native-Windows Vim from cygwin without a wrapper
From Vim Tips Wiki
Tip 972 Previous Next Created: August 15, 2005 Complexity: basic Author: Tony Mechelynck Version: 5.7
To run native-Windows Vim from cygwin, just create one or more of the following aliases (for instance in ~/.bash_profile). You may grab them by copy&paste via the clipboard:
alias vim='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim63/vim.exe' alias vimd='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim63/vimd.exe' alias gvim='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim63/gvim.exe' alias gvimd='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim63/gvimd.exe' alias v7vim='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim70aa/vim.exe' alias v7vimd='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim70aa/vimd.exe' alias v7gvim='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim70aa/gvim.exe' alias v7gvimd='VIM=`cygpath -d $VIM` HOME=`cygpath -d $HOME` `cygpath -u $VIM`/vim70aa/gvimd.exe'
Notes:
- In each alias, the whole string after the first = is surrounded by single quotes
- This assumes that $VIM and $HOME are correctly defined in the master environment. How to set them is outside the scope of this tip.
- Today (while I'm writing this) the current Vim versions are 6.3 (stable) and 7.0aa (under development). Sooner or later there will be a newer version. Just change the last directory name in the above aliases to reflect it.
- See 'man cygpath' for more info.
[edit] Comments
- Due to spaces in directory names the aliases should be in the form:
alias gvim='VIM=`cygpath -d "$VIM"` HOME=`cygpath -d "$HOME"` "`cygpath -u "$VIM"`/vim63/gvim.exe"'
- Make sure .bash_profile is save as a UNIX file format
- If the installation path of the VIM is in your $PATH, you don't need to create an alias to run gvim. However, you'll still need a wrapper to correctly translate the filepath you pass in as a argument to gvim.
e.g. gvim ~/.bash_profile won't work without doing something like
gvim `cygpath -w ~/.bash_profile`
