是否可以让 gVim(在 Windows 上)默认在 cygwin 中执行外部命令?即 !ps 将打开一个显示当前正在运行的进程的 cygwin 终端?
答案1
首先你需要告诉 Vim 运行狂欢程序代替命令执行程序,并且 bash 需要作为登录 shell 运行,以便它能够读取配置文件/登录脚本并正确设置环境(PATH 等)。
您还需要更改向 shell 引入命令行选项的设置:
:set shell=C:\Cygwin\bin\bash.exe\ -login
:set shellcmdflag=-c
如果你的 cygwin 命令需要参数,你可能还应该
:set shellquote=\"
确保整个命令正确地用引号引起来,否则 shell 将只获取第一个单词而忽略其余部分。