私はこれを参照しました post vimでブロック編集を使用します。しかし、私が鍵をかけるとき I または c ブロック選択後、vimは私がを押したかのように通常の編集モードに入ります i。また、ブロックを選択すると、 x ブロック内の文字を削除するためのキー。
プレス前 I:
プレス後 I:
入力文字をブロックするにはどうすればよいですか?
+ visualextraは以下のバージョン情報から有効になっています。
> $ 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
ビジュアルブロックモードでI
を押すと、vimは挿入モードに入ったように見えます。ただし、挿入モードを終了して再び通常モードに戻ると、挿入モードで押したキーが選択したブロック全体で有効になっていることがわかります。
デモはこちらから入手できます リンク
ステップ1、次を使用してビジュアルブロックの選択を作成します。
<C-v>{motion}
ステップ2、I
で挿入モードに入ります。
I
ステップ3、必要なものを挿入します。
foo
ステップ4、挿入モードを終了します。
<Esc>
ステップ2、A
で挿入モードに入ります。
A
ステップ2、カットしてc
で挿入モードに入ります。
c
ステップ2、r
を押します。
r
ステップ3、目的のキーを押します。
-
次回はもう少し頑張ってください。