Linux

為什麼我在 sudo vi <filename> 時沒有語法高亮顯示?

  • October 4, 2018

我不明白如何在使用 sudo 時允許在通過**vi編輯的文件中突出顯示語法。**當我sudo vi &lt;filename&gt;的終端只是我的終端設置的黑白。在 vi 中,如果我輸入:syntax on沒有任何變化。

當我vi &lt;filename&gt;所有的語法都正確著色時。使用 RHEL 5.4,相關環境:

LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;
33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;
32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;
32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;
31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;
31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;
35:*.png=01;35:*.tif=01;35:

SHELL=/bin/bash

TERM=xterm-color

雲雀的答案可能是最有可能的。您可能不希望將您的 root 帳戶 vi 永久更改為 vim,因為好像您的資源很低 vi 幾乎可以保證始終工作,我對 vim 不太確定。

您可能正在使用(顏色)

/usr/bin/vim 

在您的普通使用者和

/bin/vi

在 sudo 或 root 下。您可以使用以下方法進行檢查:

which vi

一次在您的普通使用者下,另一個通過 sudo

sudo which vi

做一個

man which 

如果您需要更多詳細資訊

在 RHEL 系統上,/bin/vi通常是 的最小版本vim,沒有任何語法高亮支持。 /usr/bin/vim是功能齊全的編輯器。在您的使用者環境中,很可能vivim. 試試這個:

sudo vim /some/file

你現在有語法高亮嗎?

引用自:https://serverfault.com/questions/203988