使用`:! 时的颜色编码<command>`

Color encoding when using `:! <command>`

当我 运行,例如,! yarn lint 在 MacVim 中。我有这个结果。

而我 运行 在终端 Vim 中执行相同的命令。这就是我得到的。

有没有办法让前者像后者一样变色?

您之所以看到不同的配色方案,是因为终端和 MacVim 编辑器都有自己的特定于应用程序的配置,其中包括主题。但是,可以统一两个应用程序以在 .vimrc 文件中共享相同的 Vim 设置。 MacVim 查找的默认 .vimrc 位于 $HOME/.vimrc 下,终端版本的 Vim 也是如此。如果您喜欢终端 Vim 中使用的深色背景,您可以将其设置为:

set background=dark

我还强烈建议您阅读 .vimrc settings.

,至少要有基本的了解

还有一些很好的例子:

MacVim GUI 用于 :! 命令的 shell 是所谓的“愚蠢 shell”,它根本不支持样式,因此您不能颜色,那里。如果您绝对需要样式化输出,请使用内置的 :help :terminal.

也就是说,命令行实用程序应该知道何时以及何时不使用样式。由于您使用的那些似乎在不应该输出转义序列的情况下输出转义序列,因此最好将该缺陷通知其维护者。

所以我跟着想出了解决办法

首先,:terminal ++close yarn format 确实很好地为终端结果着色,所以我更新了我的映射。

map <Leader>l :terminal ++close yarn format<CR>

然后修复自动重新加载问题。这就是我所做的。

set autoread
au CursorHold,CursorHoldI * checktime
au FocusGained,BufEnter * :checktime

感谢本帖提供的资源!

https://unix.stackexchange.com/questions/149209/refresh-changed-content-of-file-opened-in-vim