Furash Gary wrote:
I'm using VIM on windows with cygwin. In my _vimrc I've got the
following
" automatically swithc directories
set autochdir
" For cygwin shell
set shell=C:/cygwin/bin/bash
set shellcmdflag=--login\ -c
set shellxquote=\"
When I try to use cygwin stuff with the "!" command or similar things
from vim, it doesn't seem to know where it is.
That is, if I open up a file on the desktop with gvim, and do
:pwd
It prints out the path of the desktop (thanks to autochdir I think).
However, if I do
:! pwd
It prints out the location of my windows home directory. Is there
anyway I could automatically pass to the shell the location it should
start in?
":pwd" and ":! pwd" don't return the same directory, that is normal.
":pwd" returns Vim's internal "current directory", it changes whenever
you use internal ":cd", and 'autochdir' can change it implicitly; such
changes are not brought back to the shell. To change the shell's current
directory (as shown by ":! pwd" on Unix-like systems and by ":! cd" on
dos-like systems) you can use the ":! cd" command, as follows:
au BufReadPost * exe "!cd" expand("%:p:h")
The above is untested but I believe it ought to work on Unix as well as
on Windows.
Best regards,
Tony.