是否可以让 gVim 默认在 cygwin 中执行外部命令?

是否可以让 gVim 默认在 cygwin 中执行外部命令?

是否可以让 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 将只获取第一个单词而忽略其余部分。

相关内容