Eu tenho dois servidores remotos:
Servidor 1: Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi IMproved - versão 7.0.237
Servidor 2: Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi IMproved versão 7.0. 237
Quando eu ssh em Server 2 e uso vim para editar um php
ou .htaccess
arquivo que tem bela realce de cores. Abaixo está o /etc/vimrc
arquivo nesse servidor.
Quando ssh no servidor 1, nenhuma cor aparece. Tentei copiar o código abaixo no meu arquivo ~ / .vimrc no Servidor 1, mas a sintaxe da cor não está funcionando. Os outros recursos (como set nocompatible
) estão funcionando, mas não as cores.
Por que a cor não está funcionando no Servidor 1 e como posso testá-la e corrigi-la? tput colors
nos dois terminais retorna 8
. Eu tentei :syntax on
e :syntax enable
mas isso também não está ajudando.
------------------------------------------------------------
Conteúdo do /etc/vimrc
arquivo:
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
: versão de saída
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 <[email protected]>
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
:set term
,:set filetype
e nos dar o resultado.Respostas:
Eu suspeito que você tem um
alias vim=vi
in~/.bashrc
. Tente isto para executar o comando 'real', não o alias:Parece que você está executando o CentOS. Verifique se você instalou o
vim-enhanced
pacote:fonte
Você pode dizer pela saída da versão do vim que ele é minúsculo e não é compilado com a
-syntax
opçãoColoque também
export TERM=xterm-256color
no seu bashrc para obter todos os benefícios ...fonte
Você também pode usar
sshfs
para montar o recurso para que seu vim local seja usado para editar esses arquivos.O Vim também pode editar arquivos remotos. A vantagem disso é que você pode editar no conforto de sua própria configuração personalizada e familiar do vim.
vi scp://[email protected]/path/to/file
fonte
Há um caso específico em que, se o terminal do cliente não define um TERM de cor, mas define COLORTERM. Faça isso:
Na sua máquina cliente, adicionar
SendEnv COLORTERM
em/etc/ssh/ssh_config
, e no servidor, adicionarAcceptEnv COLORTERM
em/etc/ssh/sshd_config
.Recarregue o sshd (
service sshd reload
) e reconecte-o.Se o seu servidor for CentOS / RHEL e possuir
/etc/profile/256term.sh
(fornecido pelo pacoteinitscripts
), o que o meu fazia por padrão, isso deve ser definido automaticamenteTERM
comoxterm-256color
, habilitar a cor no bash (ls ...) e habilitar a cor no vim.Como já indicado pelo quanta, se você tiver apenas o vi, instale o vim-Enhanced.
Não tenho certeza se isso é necessário se o seu terminal cliente já definir um TERM de cor. Eu tive que fazer isso para solucionar o Terminator com um TERM = xterm codificado. O gnome-terminal no ubuntu possui um TERM xterm-256color padrão, portanto a cor pode funcionar sem a necessidade de Send / AcceptEnv no ssh.
fonte
Acho que você pode ter o vi e não o aprimoramento do vim no console para o qual você fez o SSH. Eu tive que instalar ou alias vim para vi e funcionou normalmente para mim. A "E519: Opção não suportada: tipo de arquivo" no seu comentário, divulga essas informações.
Encontrei informações úteis sobre isso aqui .
fonte