SSH를 통해 Vim에서 색상을 활성화하는 방법은 무엇입니까?


9

두 개의 원격 서버가 있습니다.

서버 1 : Linux 2.6.18-238.12.1.el5PAE i686 / VIM-Vi IMproved-버전 7.0.237
서버 2 : Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM-Vi IMproved 버전 7.0. 237

서버 2에 ssh를 넣고 vim을 사용하여 php또는 .htaccess파일 을 편집하면 아름다운 색상이 강조 표시됩니다. 아래는 /etc/vimrc해당 서버 의 파일입니다.

서버 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

1
당신의 PHP 파일 형식을 열고 :set term, :set filetype우리에게 결과를 제공합니다.
quanta

term = xterm, E519 : 지원되지 않는 옵션 : filetype
cwd

답변:


12

에있는 것으로 의심 alias vim=vi됩니다 ~/.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

향상된 버전을 설치하고 차이가 나는지 확인합니다. 이것을 조사해 주셔서 감사합니다.
cwd

4

vim의 버전 출력에서 ​​vim-tiny이며 -syntax옵션으로 컴파일되지 않았다는 것을 알 수 있습니다.

또한 export TERM=xterm-256colorbashrc를 사용하여 전체 이점을 얻으십시오 ...


4

당신은 또한 사용할 수 있습니다 sshfs해당 지역의 정력 편집이 파일을 사용되도록 자원을 장착 할 수 있습니다.

Vim은 원격 파일을 편집 할 수도 있습니다. 이것의 장점은 사용자 정의되고 친숙한 vim 구성으로 편안하게 편집 할 수 있다는 것입니다.

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


0

클라이언트 터미널이 색상 TERM을 설정하지 않고 COLORTERM을 설정하는 경우가 있습니다. 이 작업을 수행:

클라이언트 시스템에서, 추가 SendEnv COLORTERM/etc/ssh/ssh_config, 서버에 추가 AcceptEnv COLORTERM/etc/ssh/sshd_config.

sshd ( service sshd reload)를 다시 로드 하고 다시 연결하십시오.

서버가 CentOS / RHEL이고 기본적으로 수행 한 /etc/profile/256term.sh패키지가 제공 한 경우 initscripts자동으로로 설정 TERM하고 xterm-256colorbash에서 색상을 활성화하고 (ls ...) vim에서 색상을 활성화해야합니다.

vi 만있는 경우 quanta에서 이미 지적했듯이 vim-enhanced를 설치하십시오.

클라이언트 터미널이 이미 색상 TERM을 설정 한 경우 이것이 필요한지 확실하지 않습니다. TERM = xterm으로 하드 코딩 된 Terminator를 해결하려면이 작업을 수행해야합니다. 우분투의 gnome-terminal에는 기본 TERM xterm-256color가 있으므로 ssh에서 Send / AcceptEnv가 없어도 색상이 작동 할 수 있습니다.


0

SSH를 사용하는 콘솔에서 실제로 vi가 있고 vim이 향상되지 않았다고 생각합니다. vi에 vim을 설치하거나 별칭을 사용해야했는데 정상적으로 작동했습니다. 귀하의 의견에 "E519 : Option not supported : filetype"이 정보를 제공합니다.

여기에 대한 유용한 정보 가 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.