I have refer to this post to use block editing in vim. But when I key I or c after the block select, vim enters the normal edit mode just as if I pressed a i. I also found, when block is selected, I can use the x key to delete chars in the block.
Before press I:
After press I:
How can I block input chars?
the +visualextra have enabled from below version info.
> $ vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2
> 2014 19:39:47) Included patches: 1-52 Modified by
> [email protected] Compiled by buildd@ Huge
> version with GTK2-GNOME 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 +viminfo
> +cscope +lispindent -python3 +vreplace
> +cursorbind +listcmds +quickfix +wildignore
> +cursorshape +localmap +reltime +wildmenu
> +dialog_con_gui +lua +rightleft +windows
> +diff +menu +ruby +writebackup
> +digraphs +mksession +scrollbind +X11
> +dnd +modify_fname +signs -xfontset
> -ebcdic +mouse +smartindent +xim
> +emacs_tags +mouseshape -sniff +xsmp_interact
> +eval +mouse_dec +startuptime +xterm_clipboard
> +ex_extra +mouse_gpm +statusline -xterm_save
> +extra_search -mouse_jsbterm -sun_workshop +xpm system vimrc file: "$VIM/vimrc"
> user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc"
> user exrc file: "$HOME/.exrc" system gvimrc file: "$VIM/gvimrc"
> user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc"
> system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H
> -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
Type i to switch into insert mode so that you can start editing the file. Enter or modify the text with your file. Once you're done, press the escape key Esc to get out of insert mode and back to command mode.
After pressing I
in visual block mode, vim appears to have entered insert mode. But when you exit the insert mode and go to normal mode again, you will see that the keys you pressed in insert mode have taken effect in the entire selected block.
A demo is available at this link
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With