How to install full version of Vim in Red Hat / CentOS
CentOS
and Red Hat
comes with vim-minimal
installed by default which lacks support for syntax highlighting and many other features.
To see currently installed version, run vi --version
at the command line and note the list of enabled and disabled features.
[root@centos ~]# vi --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 2 2017 00:45:54) Included patches: 1-160 Modified by <[email protected]> Compiled by <[email protected]> Small version without GUI. Features included (+) or not (-): +acl -farsi -mouse_sgr -tag_old_static -arabic -file_in_path -mouse_sysmouse -tag_any_white -autocmd -find_in_path -mouse_urxvt -tcl -balloon_eval -float -mouse_xterm +terminfo -browse -folding +multi_byte -termresponse +builtin_terms -footer -multi_lang -textobjects -byte_offset +fork() -mzscheme -title -cindent -gettext -netbeans_intg -toolbar -clientserver -hangul_input -path_extra -user_commands -clipboard +iconv -perl -vertsplit -cmdline_compl -insert_expand -persistent_undo -virtualedit +cmdline_hist +jumplist -printer +visual -cmdline_info -keymap -profile -visualextra -comments -langmap -python -viminfo -conceal -libcall -python3 -vreplace -cryptv -linebreak -quickfix +wildignore -cscope -lispindent -reltime -wildmenu -cursorbind -listcmds -rightleft +windows -cursorshape -localmap -ruby +writebackup -dialog -lua -scrollbind -X11 -diff -menu -signs -xfontset -digraphs -mksession -smartindent -xim -dnd -modify_fname -sniff -xsmp -ebcdic -mouse -startuptime -xterm_clipboard -emacs_tags -mouse_dec -statusline -xterm_save -eval -mouse_gpm -sun_workshop -xpm -ex_extra -mouse_jsbterm -syntax -extra_search -mouse_netterm -tag_binary system vimrc file: "/etc/virc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/etc" f-b for $VIMRUNTIME: "/usr/share/vim/vim74" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -g -pipe -Wall -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -Wl,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lm -lselinux -lncurses -lacl -lattr -ldl
To use the version of vim
with most of the features enabled in CentOS / Red Hat, you’ll have to install vim-enhanced
. This could be done by following these steps at the command line;
Use administrator account or sudo
to perform the installation.
-
Remove the installed
vim-minimal
.yum remove -y vim-minimal
-
Update package list from the repositories.
yum -y update
-
Install
vim-enhanced
and related dependencies.yum install -y vim-enhanced
Running vim --version
should produce a more desirable output.
Note that the command is now vim
instead of vi
.
[root@centos ~]# vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 2 2017 00:45:39) Included patches: 1-160 Modified by <[email protected]> Compiled by <[email protected]> Huge version without GUI. Features included (+) or not (-): +acl +farsi +mouse_netterm +syntax +arabic +file_in_path +mouse_sgr +tag_binary +autocmd +find_in_path -mouse_sysmouse +tag_old_static -balloon_eval +float +mouse_urxvt -tag_any_white -browse +folding +mouse_xterm -tcl ++builtin_terms -footer +multi_byte +terminfo +byte_offset +fork() +multi_lang +termresponse +cindent +gettext -mzscheme +textobjects -clientserver -hangul_input +netbeans_intg +title -clipboard +iconv +path_extra -toolbar +cmdline_compl +insert_expand +perl +user_commands +cmdline_hist +jumplist +persistent_undo +vertsplit +cmdline_info +keymap +postscript +virtualedit +comments +langmap +printer +visual +conceal +libcall +profile +visualextra +cryptv +linebreak +python/dyn +viminfo +cscope +lispindent -python3 +vreplace +cursorbind +listcmds +quickfix +wildignore +cursorshape +localmap +reltime +wildmenu +dialog_con -lua +rightleft +windows +diff +menu +ruby/dyn +writebackup +digraphs +mksession +scrollbind -X11 -dnd +modify_fname +signs -xfontset -ebcdic +mouse +smartindent -xim +emacs_tags -mouseshape -sniff -xsmp +eval +mouse_dec +startuptime -xterm_clipboard +ex_extra +mouse_gpm +statusline -xterm_save +extra_search -mouse_jsbterm -sun_workshop -xpm system vimrc file: "/etc/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/etc" f-b for $VIMRUNTIME: "/usr/share/vim/vim74" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -g -pipe -Wall -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -Wl,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lm -lnsl -lselinux -lncurses -lacl -lattr -lgpm -ldl -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc