10 votos

Cómo habilitar el color en Vim a través de SSH?

Tengo dos servidores remotos:

1 Servidor: Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi Mejorado de la versión 7.0.237
Servidor 2: Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi versión Mejorada 7.0.237

Cuando me ssh en el Servidor 2 y el uso de vim para editar un php o .htaccess archivo que tiene un hermoso color de resaltado. A continuación es el /etc/vimrc de archivos en ese servidor.

Cuando me ssh en el Servidor 1, no hay color en la muestra. He intentado copiar el código de abajo en la mi ~/.vimrc archivo en el Servidor 1, pero la sintaxis de color no está funcionando. Las otras características (como set nocompatible) están trabajando, pero no los colores.

¿Por qué es el color que no funciona en el Servidor 1, y ¿cómo puedo probar y solucionarlo? tput colors en ambos terminales devuelve 8. He intentado :syntax on y :syntax enable pero eso no es ayudar.

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

Contenido de /etc/vimrc archivo:

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

:versión de salida

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

12voto

quanta Puntos 31979

Sospecho que tienes un alias vim=vi en ~/.bashrc. Pruebe esto para ejecutar 'real' comando, no se alias:

\vim /path/to/php/file

Parece que te están corriendo CentOS. Asegúrese de que ha instalado vim-enhanced paquete de:

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

4voto

phildobbin Puntos 111

Usted puede decir por la versión de salida de vim que es vim-pequeño y su' no se compila con el -syntax opción.

También poner export TERM=xterm-256color en su bashrc para obtener el máximo beneficio...

4voto

vgoff Puntos 346

También puede utilizar sshfs a montar el recurso, de modo que su local de vim se utiliza para editar estos archivos.

Vim, de hecho, también puede editar los archivos remotos. La belleza de esto es que se puede editar en la comodidad de su propio personalizado y familiar de configuración de vim.

vi scp://username@example.com/path/to/file

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: