Linux
如何通過 SSH 在 Vim 中啟用顏色?
我有兩個遠端伺服器:
伺服器 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=vi
in~/.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 以獲得全部好處……