世間一般のエディタではカーソルを行頭や行末に移動するキーがC-a だったり C-e だったり Home だったり End だったりと、
それなりに押下し易い配置になっているのですが、Vim では何を思ったのか ^ と $ という謎のキー割り当てになっています。
この謎のキー割り当てにはそれなりの理由があると思われるのですが、
時々不便に思う場合があります。
例えば「カーソル行のテキストをコピーして他のアプリケーションにペーストする」というシチュエーションを考えてみましょう。
コピー自体は "*yy ですぐできるのですが、これでは改行文字が含まれるため、ペーストした際に悲しい結果を招くことが多々あります。^vg_"*y や 0v$h"*y とすれば改行文字抜きでコピーはできるものの、
キー押下難易度の高さにストレスが溜まってしまいます。
どうにかして快適にカーソル行のテキストを選択/処理できないものでしょうか。
vim-textobj-line を使います。
このプラグインをインストールすると
^vg_"*y と同じことが vil"*y や "*yil で0v$h"*y と同じことが val"*y や "*yal でできるようになります。
単にこれだけの代物ですが、あるとないとでは快適度合が段違いです。
Vim を使い始めて今年で10周年ほどになりますが、g_の存在は vim-textobj-line を書いている最中に初めて知りました。
次回は Emacs 編です。