Linux

如何通過 SSH 在 Vim 中啟用顏色?

  • January 22, 2020

我有兩個遠端伺服器:

伺服器 1:Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi 改進版 - 版本 7.0.237

伺服器 2:Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi 改進版 7.0。 237

當我 ssh 進入伺服器 2 並使用 vim 編輯文件php.htaccess文件時,它具有漂亮的顏色突出顯示。以下是該/etc/vimrc伺服器上的文件。

當我 ssh 進入伺服器 1 時,沒有顏色顯示。我嘗試將以下程式碼複製到伺服器 1 上的 ~/.vimrc 文件中,但顏色語法不起作用。其他功能(如set nocompatible)正在工作,但顏色無效。

為什麼顏色在伺服器 1 上不起作用,我該如何測試和修復它?tput colors在兩個終端返回8。我試過了:syntax on:syntax enable但這也無濟於事。

------------------------------------------------------------

文件內容/etc/vimrc

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
  set fileencodings=utf-8,latin1
endif

set nocompatible    " Use Vim defaults (much better!)
set bs=indent,eol,start     " allow backspacing over everything in insert mode
"set ai         " always set autoindenting on
"set backup     " keep a backup file
set viminfo='20,\"50    " read/write a .viminfo file, don't store more
           " than 50 lines of registers
set history=50      " keep 50 lines of command line history
set ruler       " show the cursor position all the time

" Only do this part when compiled with support for autocommands
if has("autocmd")
 augroup redhat
   " In text files, always limit the width of text to 78 characters
   autocmd BufRead *.txt set tw=78
   " When editing a file, always jump to the last cursor position
   autocmd BufReadPost *
   \ if line("'\"") > 0 && line ("'\"") <= line("$") |
   \   exe "normal! g'\"" |
   \ endif
 augroup END
endif

if has("cscope") && filereadable("/usr/bin/cscope")
  set csprg=/usr/bin/cscope
  set csto=0
  set cst
  set nocsverb
  " add any database in current directory
  if filereadable("cscope.out")
     cs add cscope.out
  " else add database pointed to by environment
  elseif $CSCOPE_DB != ""
     cs add $CSCOPE_DB
  endif
  set csverb
endif

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
 syntax on
 set hlsearch
endif

if &term=="xterm"
    set t_Co=8
    set t_Sb=%dm
    set t_Sf=%dm
endif

:版本輸出

VIM - Vi IMproved 7.0 (2006 May 7, compiled Aug  4 2010 07:21:18)
Included patches: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44, 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 234-237
Compiled by <bugzilla@redhat.com>
Tiny version without GUI.  Features included (+) or not (-):
-arabic -autocmd -balloon_eval -browse +builtin_terms -byte_offset -cindent -clientserver -clipboard -cmdline_compl -cmdline_hist -cmdline_info -comments -cryptv -cscope -cursorshape -dialog -diff -digraphs -dnd -ebcdic -emacs_tags -eval -ex_extra -extra_search -farsi
-file_in_path -find_in_path -folding -footer +fork() -gettext -hangul_input +iconv -insert_expand -jumplist -keymap -langmap -libcall -linebreak -lispindent -listcmds -localmap -menu -mksession -modify_fname -mouse -mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm
-mouse_xterm +multi_byte -multi_lang -mzscheme -netbeans_intg -osfiletype -path_extra -perl -printer -profile -python -quickfix -reltime -rightleft -ruby -scrollbind -signs -smartindent -sniff -statusline -sun_workshop -syntax -tag_binary -tag_old_static -tag_any_white
-tcl +terminfo -termresponse -textobjects -title -toolbar -user_commands -vertsplit -virtualedit -visual -viminfo -vreplace +wildignore -wildmenu -windows +writebackup -X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save
  system vimrc file: "/etc/virc"
    user vimrc file: "$HOME/.vimrc"
     user exrc file: "$HOME/.exrc"
 fall-back for $VIM: "/usr/share/vim"
Compilation:
gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
Linking: gcc   -L/usr/local/lib -o vim       -lselinux -ltermcap -lacl

我懷疑你有一個alias vim=viin ~/.bashrc。試試這個來執行“真實”命令,而不是別名:

\vim /path/to/php/file

看起來你正在執行 CentOS。確保您安裝了vim-enhanced軟體包:

rpm -qa | grep vim
vim-minimal-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-7.el5
vim-common-7.0.109-7.el5

您可以通過 vim 的版本輸出判斷它是 vim-tiny 並且它沒有使用該-syntax選項編譯。

也放入export TERM=xterm-256color你的 bashrc 以獲得全部好處……

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