我最近厌倦了在 Windows 和 Linux 之间不断切换,并在 Windows 7 上安装了 gVim 和 MSYS2。经过几个小时的搜索,我得到了一个 .vimrc,它使!command
、make
等使用 MSYS2 附带的 shell 和实用程序,而不是 cmd.exe(位于下方)。但是,每当我运行 shell 命令时,shell 都会从我的主目录而不是 vim 的当前工作目录启动。我知道这是 shell 标志的错误--login
,但如果我删除它,shell 会抱怨它找不到任何命令:/usr/bin/bash: ls: command not found
。我推测这是因为未设置 PATH。
是否可以阻止 bash 在 home 中启动?或者,更可能的是,如何修改 gVim 的 PATH 以从 MSYS 的 PATH 继承?
if has('win32') || has('win64')
set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after
set shell=C:\msys64\usr\bin\bash
set shellcmdflags=--login\ -c
set shellslash
endif