VI and VIM Syntax Highlighting on Fedora / CentOS / Red Hat (RHEL)

vi-vim-logo-smallThis is guide, howto enable Vi and Vim text editor syntax Highlighting on Fedora / CentOS / Red Hat (RHEL). Actually on Fedora, CentOS and Red Hat (RHEL) does only have Vim (Vi IMproved), but if you run vi command it works, because it runs small/minimal version of Vim, which is like original Vi.

I have seen too many guides howto enable Vi/Vim syntax highlighting, which says that you can turn syntax highlighting on/off with using :syntax on and :syntax off. It’s almost true, but actually on Fedora, CentOS and RHEL you can’t turn Vi syntax highlighting on with any command, because Vi (Vim minimal) does not have syntax highlighting feature included.

If you run following command:

vi --version

From output you can find following info:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Sep 21 2011 09:34:21)
...
Small version without GUI.  Features included (+) or not (-):...
... -syntax ......

It is small version and syntax is not even included. Check following to see how you can enable it…

Howto Enable Vi and Vim Syntax Highlighting on Fedora / CentOS / Red Hat (RHEL)

1. Change root user

su -
## OR ##
sudo -i

2. Install Vim enhanced package

yum install vim-enhanced

Note: this might be installed already.

3. Check Vim Features

Then check Vim included features:

vim --version

Output looks following:

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Sep 21 2011 09:34:08)
...
Huge version without GUI.  Features included (+) or not (-):...
... +syntax ......

And yes, Vim huge version have syntax feature included.

4. Set Vi Command Pointing to Vim

Then you can set vi pointing to vim and enable also vi syntax highlighting with following command:

alias vi=vim

If you want make it permanent alias then add it /etc/profile file or maybe /etc/profile.d/vi-vim.sh file or user ~/.bashrc file.

.bashrc example:

...
# User specific aliases and functions
alias vi=vim

4. Test Vi/Vim Syntax Highlighting

Open example some code file with vi command. With /etc/vimrc file syntax highlighting is automatically turned on, if your terminal support colors.

Example /etc/profile file:
Vi / Vim Syntax Highlighting
Then you can use :syntax on and :syntax off commands to toggle syntax highlighting.

Same file with Vi syntax highlighting turned off:
Vi / Vim Syntax Highlighting Turned Off

Follow If Not True Then False Updates!

20 Comments

  1. Excelent!

  2. Thanks JR!

    This is really awesome guide!
    I really appreciate it that you can explain these things. :)

  3. Thank’s Bro….. !!!

    You are safe my life from colour blindness :)

  4. the syntax in ~./bashrc would be
    alias vi=’vim’

    • Hi akshay,

      Both works, because it’s just single command (without any parameters).

  5. Great tip!
    Do you know how to get auto-indenting working in vi/vim on Fedora 16?

  6. Why in fedora?I think this way can work for all Linux !

    • Hi seatle,

      Yes, it works on any distro, but step 2 is just Fedora/RHEL/CentOS specific.

  7. Oh,I see,the default version is small version for fedora,But Huge version is default for Ubuntu.

    • Yes, it’s biggest reason why this guide exists. ;)

  8. thank you
    thank you
    thank you

  9. thanks a lot…

  10. Frustration averted, thanks!

  11. I am able to change the colorscheme of vi and i can see the highlighting on, but its just on for the comments of my coding and not like your picture where everything is assigned a different color. I uninstalled it and reinstalled it and nothing is there anything missing here?? I am using Fedora 19 Desktop any advice would be great thanks.

    • Hi Ricardo,

      I just checked and here is used VIM default color scheme and Gnome-Terminal with Built-in schemes: Gray on black (or White in black) and Gnome-Terminal Palette is Tango.

      Personally I use VIM Solarized dark theme, but you can of course select your favorite color scheme.

  12. Super.. Thanks a lot

  13. Awesome.

    JR would you know why the /etc/virc file still exists in addition to /etc/vimrc, highlighting works everywhere(so far) except when I view /etc/virc file?

    Thanks

    • Hi miguel,

      Thanks!

      I think that there is not highlighting file for virc, but you could use vimrc highlighting files. Add following line to your .vimrc to enable .virc/virc highlighting:

      au BufRead,BufNewFile .virc,virc set filetype=vim
  14. Thanks, each time I reinstall the server I forget how to do those simple steps.

Add Comment Register



Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>