我正在使用Windows gVim,我正在尝试调用命令在cygwin的bash上运行。它正常工作,但工作目录每次都设置为$ HOME。是否可以设置为当前文件的目录?
我的.vimrc
中有以下一行:
set shell=C:/cygwin/bin/bash
set shellcmdflag=--login\ -c
set shellxquote=\"
我的.profile
中有以下几行:
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
答案 0 :(得分:2)
我认为--login
会这样做;删除该参数,shell将在GVIM的当前目录中打开。
答案 1 :(得分:1)
您可以将当前文件的目录传递给外部命令,如下所示:
:!ls %:p:h
请参阅:h filename-modifiers
,可能:h shellescape()
。