2017-08-09 56 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值。

相關問題