为什么vim语法在不同的终端上突出显示?

时间:2017-08-09 03:31:00

标签: linux vim terminal vi

我正在运行OpenSuse 42.3的标准安装。我通过我的MacOS电脑ssh到Opensuse机器。当我使用vim在终端窗口中查看文件时,语法高亮显示是令人愉快的。我还在我的OpenSuse机器上安装了OpenSuse 42.3的库存安装的Docker镜像。如果我启动容器并在容器中打开带有vim的python文件,则语法突出显示会有所不同。我对/usr/share/vim/vim74/syntax/python.vim的内容做了一个差异,并且OpenSuse主机上使用的语法文件与OpenSuse容器之间没有区别。

左下方是我从Mac到OpenSuse机器并打开python文件时看到的内容。右边是我启动docker容器时看到的内容(仍然在我为左边图像启动的同一个终端窗口中)。

Python file when using vim to view the file on the host OpenSuse Python file when using vim to view the file on the container OpenSuse

如果vim语法文件相同,语法高亮文件的终端窗口上的显示是否应该相同?

1 个答案:

答案 0 :(得分:3)

终端中的突出显示取决于可用颜色的数量。某些 colorschemes 具有单独的颜色定义分支,具体取决于可用的颜色数量。您可以通过

自行检查
:set t_Co?

256您可能获得TERM=xterm-256color16只能获得TERM=xterm

虽然您可以强制:set t_Co=256并重新加载您的色彩方案,但最好还是修复根本原因,即错误的TERM值。