วิธีการเปิดใช้งานสีในเสียงมากกว่า SSH?


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

เมื่อฉัน ssh ลงในเซิร์ฟเวอร์ 2 และใช้เสียงเรียกเข้าเพื่อแก้ไขphpหรือ.htaccessไฟล์มันมีการเน้นสีที่สวยงาม ด้านล่างเป็น/etc/vimrcไฟล์บนเซิร์ฟเวอร์นั้น

เมื่อฉัน ssh ลงในเซิร์ฟเวอร์ 1 ไม่มีสีปรากฏขึ้น ฉันพยายามคัดลอกโค้ดด้านล่างลงในไฟล์ ~ / .vimrc ของฉันบนเซิร์ฟเวอร์ 1 แต่ไวยากรณ์ของสีไม่ทำงาน คุณสมบัติอื่น ๆ (เหมือน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-256colorใน bashrc ของคุณเพื่อรับประโยชน์อย่างเต็มที่ ...


4

คุณยังสามารถใช้sshfsเพื่อเมานต์ทรัพยากรเพื่อใช้เป็นกลุ่มของคุณเพื่อแก้ไขไฟล์เหล่านี้

เป็นกลุ่มยังสามารถแก้ไขไฟล์ระยะไกล ความงามของสิ่งนี้คือการที่คุณสามารถแก้ไขในความสะดวกสบายของการกำหนดค่า vim ที่คุณกำหนดเองและคุ้นเคย

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


0

มีกรณีที่เฉพาะเจาะจงซึ่งหากเทอร์มินัลไคลเอ็นต์ของคุณไม่ได้ตั้งค่า TERM สี แต่จะตั้งค่า COLORTERM แทน ทำเช่นนี้:

บนเครื่องไคลเอ็นต์ของคุณเพิ่มSendEnv COLORTERMเข้าไป/etc/ssh/ssh_configและบนเซิร์ฟเวอร์เพิ่มเข้าไปAcceptEnv COLORTERM/etc/ssh/sshd_config

โหลดservice sshd reloadซ้ำsshd ( ) และเชื่อมต่อใหม่

หากเซิร์ฟเวอร์ของคุณเป็น CentOS / RHEL และมี/etc/profile/256term.sh(โดยแพคเกจinitscripts) ที่เหมืองได้โดยค่าเริ่มต้นนี้ควรตั้งค่าโดยอัตโนมัติTERMเพื่อxterm-256colorให้เปิดใช้สีในการทุบตี (แอลเอ ... ) และเปิดใช้สีในการเป็นกลุ่ม

ตามที่ระบุไว้โดยquantaหากคุณมีเพียง vi ให้ติดตั้ง vim-enhanced

ฉันไม่แน่ใจว่าจำเป็นหรือไม่ถ้าเทอร์มินัลลูกค้าของคุณตั้งค่าสีไว้แล้ว ฉันต้องทำเช่นนี้เพื่อหลีกเลี่ยง Terminator ที่มี TERM = hardcoded = xterm gnome-terminal บน ubuntu มี TERM xterm-256color เป็นค่าเริ่มต้นดังนั้นสีอาจใช้งานได้โดยไม่ต้องใช้ Send / AcceptEnv ใน ssh


0

ฉันคิดว่าคุณอาจมี vi และไม่ปรับปรุง vim บนคอนโซลที่คุณมี SSH ฉันต้องติดตั้งหรือ alim vim to vi และใช้งานได้ตามปกติสำหรับฉัน "E519: ตัวเลือกที่ไม่รองรับ: ประเภทไฟล์" ในความคิดเห็นของคุณให้ข้อมูลนี้ไป

ผมพบว่าข้อมูลที่เป็นประโยชน์เกี่ยวกับเรื่องนี้ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.