title: Visual block edit in vim
body: <p>I have refer to this <a href="https://stackoverflow.com/a/12399573/6521116">post</a> to use block editing in vim. But when I key <kbd>I</kbd> or <kbd>c</kbd> after the block select, vim enters the normal edit mode just as if I pressed a <kbd>i</kbd>. I also found, when block is selected, I can use the <kbd>x</kbd> key to delete chars in the block.</p>
  
  <p>Before press <kbd>I</kbd>:</p>
  
  <p><a href="https://i.stack.imgur.com/azaY8.png" rel="noreferrer"><img src="https://i.stack.imgur.com/azaY8.png" alt="enter image description here"></a></p>
  
  <p>After press <kbd>I</kbd>:</p>
  
  <p><a href="https://i.stack.imgur.com/BB4yN.png" rel="noreferrer"><img src="https://i.stack.imgur.com/BB4yN.png" alt="enter image description here"></a></p>
  
  <p>How can I block input chars?</p>
  
  <p>the +visualextra have enabled from below version info.</p>
  
  <pre><code>&gt; $ vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan  2
  &gt; 2014 19:39:47) Included patches: 1-52 Modified by
  &gt; pkg-vim-maintainers@lists.alioth.debian.org Compiled by buildd@ Huge
  &gt; version with GTK2-GNOME GUI.  Features included (+) or not (-):
  &gt; +acl             +farsi           +mouse_netterm   +syntax
  &gt; +arabic          +file_in_path    +mouse_sgr       +tag_binary
  &gt; +autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
  &gt; +balloon_eval    +float           +mouse_urxvt     -tag_any_white
  &gt; +browse          +folding         +mouse_xterm     +tcl
  &gt; ++builtin_terms  -footer          +multi_byte      +terminfo
  &gt; +byte_offset     +fork()          +multi_lang      +termresponse
  &gt; +cindent         +gettext         -mzscheme        +textobjects
  &gt; +clientserver    -hangul_input    +netbeans_intg   +title
  &gt; +clipboard       +iconv           +path_extra      +toolbar
  &gt; +cmdline_compl   +insert_expand   +perl            +user_commands
  &gt; +cmdline_hist    +jumplist        +persistent_undo +vertsplit
  &gt; +cmdline_info    +keymap          +postscript      +virtualedit
  &gt; +comments        +langmap         +printer         +visual
  &gt; +conceal         +libcall         +profile         +visualextra
  &gt; +cryptv          +linebreak       +python          +viminfo
  &gt; +cscope          +lispindent      -python3         +vreplace
  &gt; +cursorbind      +listcmds        +quickfix        +wildignore
  &gt; +cursorshape     +localmap        +reltime         +wildmenu
  &gt; +dialog_con_gui  +lua             +rightleft       +windows
  &gt; +diff            +menu            +ruby            +writebackup
  &gt; +digraphs        +mksession       +scrollbind      +X11
  &gt; +dnd             +modify_fname    +signs           -xfontset
  &gt; -ebcdic          +mouse           +smartindent     +xim
  &gt; +emacs_tags      +mouseshape      -sniff           +xsmp_interact
  &gt; +eval            +mouse_dec       +startuptime     +xterm_clipboard
  &gt; +ex_extra        +mouse_gpm       +statusline      -xterm_save
  &gt; +extra_search    -mouse_jsbterm   -sun_workshop    +xpm    system vimrc file: "$VIM/vimrc"
  &gt;      user vimrc file: "$HOME/.vimrc"  2nd user vimrc file: "~/.vim/vimrc"
  &gt;       user exrc file: "$HOME/.exrc"   system gvimrc file: "$VIM/gvimrc"
  &gt;     user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc"
  &gt;     system menu file: "$VIMRUNTIME/menu.vim"   fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H
  &gt; -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/harfbuzz   -pthread -DORBIT2=1 -D_REENTRANT -I/usr/include/libgnomeui-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-keyring-1 -I/usr/include/libgnome-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/x86_64-linux-gnu/gnome-vfs-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/libpng12     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1     -I/usr/include/tcl8.6  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1 Linking: gcc   -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype     -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomevfs-2 -lgnomecanvas-2 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lORBit-2 -lart_lgpl_2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lfreetype -lgconf-2 -lgthread-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0   -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl/5.18/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions  -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm  -L/usr/lib
  </code></pre>