2017-08-09 38 views
2

我正在运行OpenSuse 42.3的标准安装。我通过我的MacOS电脑ssh到Opensuse机器。当我使用vim在终端窗口中查看文件时,语法突出显得很愉快。我的OpenSuse机器上还安装了OpenSuse 42.3的库存安装的Docker镜像。如果我启动容器并在容器中用vim打开一个python文件,语法高亮看起来就不一样了。我对/usr/share/vim/vim74/syntax/python.vim的内容做了一些比较,并且在OpenSuse主机和OpenSuse容器上使用的语法文件没有区别。为什么在不同终端上突出显示vim语法?

下面左边是当我从我的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

语法文件没有定义颜色只是标记,请参阅http://vim.wikia.com/wiki/Better_colors_for_syntax_highlighting – perreal

+0

问题是,在主机上的环境变量TERM = xterm-256color的值,而在该容器只被设置为TERM = xterm。 – wandadars

+0

这可能与vim是否认为你的终端是“光”还是“黑”有关。 – o11c

回答

3

终端中的突出显示可能取决于可用颜色的数量。根据可用的颜色数量,某些颜色定义的颜色定义有不同的分支。您可以通过

:set t_Co? 

自己查一下,你可能会得到256TERM=xterm-256color只有16TERM=xterm

虽然您只需强制:set t_Co=256并重新载入颜色方案,但最好修复根本原因,即错误的TERM值。

相关问题