SSH üzerinden Vim'de renk nasıl etkinleştirilir?


9

İki uzak sunucum var:

Sunucu 1: Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi IMproved - sürüm 7.0.237
Sunucu 2: Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi IM onaylı sürüm 7.0. 237

Server 2 içine ssh ve bir phpveya .htaccessdosyayı düzenlemek için vim kullandığımda güzel renk vurgulaması vardır. /etc/vimrcBu sunucudaki dosya aşağıdadır .

Sunucu 1'e ssh yaptığımda hiçbir renk görünmüyor. Sunucu 1'deki ~ / .vimrc dosyama aşağıdaki kodu kopyalamaya çalıştım, ancak renk sözdizimi çalışmıyor. Diğer özellikler (gibi set nocompatible) çalışıyor, ancak renkler değil.

Renk Sunucu 1'de neden çalışmıyor ve nasıl test edip düzeltebilirim? tput colorsher iki terminalde de döner 8. Denedim :syntax onve :syntax enableancak ya faydası olmuyor o.

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

/etc/vimrcDosyanın içeriği :

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

: sürüm çıkışı

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

1
PHP dosyası türünü açın :set term, :set filetypeve bize bir sonuç verir.
quanta

terim = xterm, E519: Seçenek desteklenmez: filetype
cwd

Yanıtlar:


12

Ben bir sahip olduğundan şüpheleniyorsanız alias vim=viin ~/.bashrc. Diğer adı değil 'gerçek' komutunu çalıştırmak için bunu deneyin:

\vim /path/to/php/file

Görünüşe göre CentOS kullanıyor. vim-enhancedPaketi yüklediğinizden emin olun :

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

Ben gelişmiş sürümü yükleyecek ve bu bir fark yaratır görmek. buna baktığınız için teşekkürler.
cwd

4

Vim sürümünüzün çıktısıyla bunun vim-tiny olduğunu ve -syntaxseçeneğiyle derlenmediğini söyleyebilirsiniz .

Ayrıca export TERM=xterm-256colortam fayda elde etmek için bashrc koymak ...


4

sshfsKaynağı, yerel vim'inizin bu dosyaları düzenlemek için kullanılmasını sağlamak için de kullanabilirsiniz .

Vim uzak dosyaları da düzenleyebilir. Bunun güzelliği, daha sonra kendi özelleştirilmiş ve tanıdık vim yapılandırmanızın rahatlığında düzenleyebilmenizdir.

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


0

İstemci terminaliniz bir renk TERM ayarlamazsa bunun yerine COLORTERM ayarlarsa belirli bir durum vardır. Bunu yap:

Müşteriniz makinede eklemek SendEnv COLORTERMiçine /etc/ssh/ssh_configve sunucuda ekleyin AcceptEnv COLORTERMiçine /etc/ssh/sshd_config.

Sshd ( service sshd reload) öğesini yeniden yükleyin ve yeniden bağlanın.

Sunucu CentOS / RHEL ve varsa /etc/profile/256term.sh(paket tarafından sağlanan initscriptsmayın varsayılan olarak yaptım), bu otomatik olarak belirlesin TERMiçin xterm-256color, bash (ls ...) rengi etkinleştirmek ve vim renklere olanak sağlar.

Sadece vi varsa quanta tarafından işaret edildiği gibi, vim gelişmiş yükleyin.

İstemci terminaliniz zaten bir renk TERM ayarladıysa bunun gerekli olup olmadığından emin değilim. Bu kodlayıcı TERM = xterm Terminator etrafında çalışmak için yapmak zorunda kaldı. Ubuntu'daki gnome-terminalinin varsayılan TERM xterm-256color'u vardır, bu nedenle renk, ssh'de Send / AcceptEnv'a ihtiyaç duymadan çalışabilir.


0

Sanırım SSH'ye sahip olduğunuz konsolda vi ve vim gelişmiş olmayabilir. Vi için vim yüklemem veya takma adım vardı ve bu normalde benim için çalıştı. Yorumunuzdaki "E519: Option desteklenmiyor: filetype" bu bilgiyi veriyor.

Burada bu konuda yararlı bilgiler buldum .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.