How to enable color in Vim over SSH?

21,126

Solution 1

I suspect that you have an alias vim=vi in ~/.bashrc. Try this to run 'real' command, not alias:

\vim /path/to/php/file

Looks like your are running CentOS. Make sure that you installed vim-enhanced package:

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

Solution 2

You can tell by your version output of vim that it's vim-tiny and its' not compiled with the -syntax option.

Also put export TERM=xterm-256color in your bashrc to get the full benefit...

Solution 3

You can also use sshfs to mount the resource so that your local vim is used to edit these files.

Vim can also edit remote files. The beauty of this is that you can then edit in the comfort of your own customized and familiar vim configuration.

vi scp://[email protected]/path/to/file

Share:
21,126

Related videos on Youtube

cwd
Author by

cwd

Updated on September 18, 2022

Comments

  • cwd
    cwd over 1 year

    I have two remote servers:

    Server 1: Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi IMproved - version 7.0.237
    Server 2: Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi IMproved version 7.0.237

    When I ssh into Server 2 and use vim to edit a php or .htaccess file it has beautiful color highlighting. Below is the /etc/vimrc file on that server.

    When I ssh into Server 1, no color shows up. I tried copying the code below into my ~/.vimrc file on Server 1, but the color syntax is not working. The other features (like set nocompatible) are working, but not the colors.

    Why is the color not working on the Server 1, and how can I test and fix it? tput colors on both terminals returns 8. I tried :syntax on and :syntax enable but that's not helping either.

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

    Contents of /etc/vimrc file:

    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
    

    :version output

    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
    
    • Greg Petersen
      Greg Petersen over 12 years
      Open your PHP file, type :set term, :set filetype and give us the result.
    • cwd
      cwd over 12 years
      term=xterm, E519:Option not supported: filetype
  • cwd
    cwd over 12 years
    i will install the enhanced version and see if that makes a difference. thanks for looking into this one.