So, the cut down vim-tiny is installed by default in Ubuntu. I don't mind using it, but I can't find documentation and most of the commands I'm used to from normal Vim don't work. So far I've discovered that :n and :N go between buffers and :split splits the screen (but Ctrl-W+S does not), :close closes a split, and Ctrl-W+W hops between splits.

What other commands am I missing?

  • 5
    Wouldn't it be far simpler to just install vim than learn a new set of restrictions, limitations, and short cuts? Feb 14, 2012 at 15:03
  • 4
    I can't upgrade to full Vim on every machine I SSH into. Besides, tiny-vim's capabilities probably won't fill an index card.
    – James
    Feb 14, 2012 at 15:09
  • 2
    @James - even the most basic vi is going to be very powerful - try reading Your problem with Vim is that you don't grok vi - the answer only covers vi, and therefore vim-tiny. Good luck with your index card ... Feb 14, 2012 at 19:01
  • vi compatibility mode might be good to learn, in case you get stuck on a "vi" system. vim-tiny (vi compatibility mode) has no help files. <backspace> doesn't work. "showmode" is not set, so zero prompts like "-- INSERT --" or "--REPLACE--" and need to intuitively know which mode you're in. If you are a "VIM Expert" but get put on a "vi" machine, you could find yourself lost. But if you know "vi compatibility mode" and get stuck with VIM, then it shouldn't be a problem, and can always go backwards if needed using ":set cp".
    – user12711
    Jul 31, 2019 at 18:44

2 Answers 2


On 11.10:

$ vim.tiny --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct  6 2011 10:32:12)
Included patches: 1-154
Modified by [email protected]
Compiled by buildd@
Small 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 
-conceal -cryptv -cscope -cursorbind -cursorshape -dialog -diff -digraphs -dnd 
-ebcdic -emacs_tags -eval -ex_extra -extra_search -farsi -file_in_path 
-find_in_path -float -folding -footer +fork() -gettext -hangul_input +iconv 
-insert_expand +jumplist -keymap -langmap -libcall -linebreak -lispindent 
-listcmds -localmap -lua -menu -mksession -modify_fname -mouse -mouse_dec 
-mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse -mouse_xterm 
+multi_byte -multi_lang -mzscheme -netbeans_intg -osfiletype -path_extra -perl 
-persistent_undo -printer -profile -python -python3 -quickfix -reltime 
-rightleft -ruby -scrollbind -signs -smartindent -sniff -startuptime 
-statusline -sun_workshop -syntax -tag_binary -tag_old_static -tag_any_white 
-tcl +terminfo -termresponse -textobjects -title -toolbar -user_commands 
-vertsplit -virtualedit +visual -visualextra -viminfo -vreplace +wildignore 
-wildmenu +windows +writebackup -X11 +xfontset -xim -xsmp -xterm_clipboard 
   system vimrc file: "$VIM/vimrc"
     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     -Wall -g -O2 -DTINY_VIMRC -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,--as-needed -o vim    -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo  -lselinux -ldl

There are only twelve features enabled (out of one hundred and twenty):

+builtin_terms      Some terminals supported
+cmdline_hist       Command line history
+fork()             Shell commands are forked
+iconv              Extra encoding conversions besides utf8<->latin1
+jumplist           jumplist history, 
                    So you can go back/forward with Ctrl-O/Ctrl-I
+multi_byte         Multibyte characters
+terminfo           Use terminfo instead of termcap
+visual             Visual mode supported (but no blockwise visual mode)
+wildignore         Allow wildcard patterns, to specify files to
                    ignore during filename completion
+windows            Support more than one buffer window
+writebackup        Backup files before overwriting (this either
                    provides this option, or defaults it to on)
+xfontset           X fontset support

The descriptions are based on the feature list link posted by @Caesium.

The missing keybindings etc may be because you are running vim in vi compatible mode - you can turn that off by doing :set nocompatible in vim or adding set nocompatible to you .vimrc file.

I did try Ctrl-W s and that did a split for me while running /usr/bin/vim.tiny while in compatible mode, so that might not be your problem. But I'm not sure what would be in that case. Maybe try making sure there is nothing in your .vimrc file that would stop that working.

  • how to enable features from the feature list?
    – til
    Jun 2, 2022 at 9:13
  • 1
    @til you need to install a different version of vim Jun 5, 2022 at 16:03

Here you go: http://vimdoc.sourceforge.net/htmldoc/various.html#+feature-list

Quote from :ve[rsion] ..

The first column shows the smallest version in which they are included:
T   tiny
S   small
N   normal
B   big
H   huge

I actually don't see any marked 'T' so it looks like you get just about nothing.. the other answer of "it's probably just about vi" might not be that far out ;)

  • 2
    Which version does /usr/bin/vim.basic correspond to, is it normal (N)?
    – htaccess
    Mar 12, 2017 at 23:26
  • 2
    vim.basic appears to be the 'huge without X'. It's the same as vim-nox in my anecdata gathering. Sep 18, 2018 at 20:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .