SSH के ऊपर Vim में कलर इनेबल कैसे करें?


9

मेरे पास दो दूरस्थ सर्वर हैं:

सर्वर 1: लिनक्स 2.6.18-238.12.1.el5PAE i686 / VIM - Vi IMproved - संस्करण 7.0.237
सर्वर 2: लिनक्स 2.6.18-338.19.1.el5.lve0.8.36 x3_64 / VIM - Vi IMproved संस्करण 7.0। 237

जब मैं संपादित एक करने के लिए सर्वर 2 और उपयोग vim में ssh phpया .htaccessफ़ाइल यह सुंदर रंगीन हाइलाइटिंग है। नीचे /etc/vimrcउस सर्वर पर फ़ाइल है।

जब मैं सर्वर 1 में ssh, कोई रंग नहीं दिखाता है। मैंने सर्वर ~ पर अपने ~ / .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और हमें परिणाम दे।
क्वांटा

शब्द = 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

आप अपने संस्करण के उत्पादन के बारे में बता सकते हैं कि यह विम-टिनी है और इसका -syntaxविकल्प के साथ संकलन नहीं है।

export TERM=xterm-256colorपूरा लाभ पाने के लिए अपने bashrc में भी डालें ...


4

आप sshfsसंसाधन को माउंट करने के लिए भी उपयोग कर सकते हैं ताकि इन फ़ाइलों को संपादित करने के लिए आपके स्थानीय विम का उपयोग किया जाए।

Vim रिमोट फाइल्स को भी एडिट कर सकता है। इस की सुंदरता यह है कि आप तब अपने स्वयं के अनुकूलित और परिचित विम कॉन्फ़िगरेशन के आराम में संपादित कर सकते हैं।

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


0

एक विशिष्ट मामला है जहां यदि आपका क्लाइंट टर्मिनल एक रंग अवधि निर्धारित नहीं करता है, लेकिन इसके बजाय 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-256color, पार्टी (ls ...) में रंग को सक्षम और vim में रंग सक्षम करें।

जैसा कि पहले से ही क्वांटा द्वारा बताया गया है यदि आपके पास केवल vi है, तो vim-संवर्धित स्थापित करें।

मुझे यकीन नहीं है कि अगर यह आवश्यक है यदि आपका क्लाइंट टर्मिनल पहले से ही रंग TERM सेट करता है। मुझे ऐसा करने के लिए एक हार्डकोड TERM = xterm वाले टर्मिनेटर के आसपास काम करना था। ubuntu पर सूक्ति-टर्मिनल में एक डिफ़ॉल्ट TERM xterm-256color है, इसलिए रंग ssh में Send / AcceptEnv की आवश्यकता के बिना काम कर सकता है।


0

मुझे लगता है कि आपके पास वास्तव में vi हो सकता है और आपके द्वारा SSH'd वाले कंसोल पर विम-एन्हांस नहीं किया जा सकता है। मुझे vi पर स्थापित या उर्फ ​​विम करना था और यह मेरे लिए सामान्य रूप से काम करता था। आपकी टिप्पणी में "E519: विकल्प समर्थित नहीं: filetype", यह जानकारी देता है।

मुझे यहाँ इसके बारे में उपयोगी जानकारी मिली ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.