Vim's Versions and Features


There are a lot of features available in Vim! Just bring up your vim and do a :version; you'll probably see quite a few. How do these features get selected? Well, some options are (de-)selected based on the type of operating system you have, and some are (de-)selected based on whether or not you want a gui (ie. gvim). You may choose which options using the config script:

example: configure --enable-cscope --with-features=huge

The --with-features selector can take several words (tiny, small, normal, big, or huge). This feature selector's effect is shown in the table below. With a bit more effort you could tailor some features in or out by modifying <auto/config.h> by hand, although some features do need others to work right.

Vim Features Table

+/- Version Configure Option T S N B H Only on
ARP             Amiga
X11 --with-x     * * * MAG*
autocmd       * * *  
balloon_eval             Athena Motif
browse       * * *  
builtin_terms              
byte_offset       * * *  
cindent       * * *  
cmdline_compl       * * *  
cmdline_hist     * * * *  
cmdline_info       * * *  
comments       * * *  
cryptv       * * *  
cscope --enable-cscope       * * Unix
dialog_con_gui       * * *  
diff       * * *  
digraphs       * * *  
ebcdic              
emacs_tags         * *  
eval       * * *  
ex_extra       * * *  
extra_search       * * *  
farsi         * *  
file_in_path       * * *  
find_in_path       * * *  
folding       * * *  
footer             Motif
fork()             Unix
gettext       * * * L*
hangul_input --enable-hangulinput            
insert_expand       * * *  
jumplist     * * * *  
keymap         * *  
langmap         * *  
libcall             Win32,Unix,VMS
linebreak       * * *  
lispindent       * * *  
listcmds     * * * *  
localmap       * * *  
menu       * * *  
mksession       * * *  
modify_fname       * * *  
mouse       * * *  
mouse_dec         * *  
mouse_gpm --disable-gpm     * * *  
mouse_jsbterm             Jsbterm mouse
mouse_netterm         * *  
mouse_xterm       * * * Unix
mouseshape       * * *  
multi_byte --enable-multibyte       * *  
multi_lang       * * *  
osfiletype              
path_extra       * * *  
perl --enable-perlinterp            
printer       *      
python --enable-pythoninterp            
quickfix       * * *  
rightleft         * *  
ruby --enable-rubyinterp            
scrollbind       * * *  
signs         * * or SunWorkshop
smartindent       * * *  
sniff --enable-sniff            
statusline       * * *  
sun_workshop --enable-workshop            
syntax       * * *  
system             Unix&!Gui
tag_any_white              
tag_binary       * * *  
tag_old_static       * * *  
terminfo   * * * * * (if needed)
termresponse       * * *  
textobjects       * * *  
tgetent   * * * * * (if needed)
title       * * * not MSDOS
toolbar       * * * Gui only
user_commands       * * *  
vertsplit     * * * *  
viminfo       * * *  
virtualedit       * * *  
visual     * * * *  
visualextra       * * *  
wildignore       * * *  
wildmenu       * * *  
windows     * * * *  
writebackup   * * * * * not VMS
xfontset --enable-fontset            
xim --enable-xim            
xterm_clipboard   * * * * * Unix & Gui
xterm_save              
L* = needs <locale.h> or X_LOCALE
MAG* = needs Motif, Athena, or GTK
--with-features= Tiny, Small, Normal, Big, Huge