我正在使用 bash 作为 shell 运行 gvim。当我运行该:sh
命令时,会打印出各种颜色,如下所示:
:sh
?]0;~/src
?[32muser@machine ?[33m~/src?[0m
$
这显然是我自定义的提示符的一个版本,没有解释任何终端代码。是否有一个选项可以从 gvim 传递给 bash,以便它在某种普通模式下运行而无需转义?
另外,如果我从在终端中运行的 vim 执行相同的操作,问题就不会出现,代码也会被解释,所以这个问题具体是如何让命令:sh
和 bash 与 gvim 很好地配合。
答案1
据此,:help shell
您必须:set shell=/path/to/shell
在执行之前执行:sh
。当您:sh
从终端运行时$SHELL
,可以检索类似的变量,因为它是来自终端的环境变量,因此子进程会继承这些变量。