TIM Labs

Vimでカーソル行のテキストを簡単に選択/処理する

| コメント(0) | トラックバック(0)

問題

世間一般のエディタではカーソルを行頭や行末に移動するキーが C-a だったり C-e だったり Home だったり End だったりと、 それなりに押下し易い配置になっているのですが、 Vim では何を思ったのか ^$ という謎のキー割り当てになっています。 この謎のキー割り当てにはそれなりの理由があると思われるのですが、 時々不便に思う場合があります。

例えば「カーソル行のテキストをコピーして他のアプリケーションにペーストする」というシチュエーションを考えてみましょう。 コピー自体は "*yy ですぐできるのですが、これでは改行文字が含まれるため、ペーストした際に悲しい結果を招くことが多々あります。 ^vg_"*y0v$h"*y とすれば改行文字抜きでコピーはできるものの、 キー押下難易度の高さにストレスが溜まってしまいます。 どうにかして快適にカーソル行のテキストを選択/処理できないものでしょうか。

解答

vim-textobj-line を使います。 このプラグインをインストールすると

  • ^vg_"*y と同じことが vil"*y"*yil
  • 0v$h"*y と同じことが val"*y"*yal

できるようになります。

単にこれだけの代物ですが、あるとないとでは快適度合が段違いです。

余談

Vim を使い始めて今年で10周年ほどになりますが、 g_ の存在は vim-textobj-line を書いている最中に初めて知りました。

次回は Emacs 編です。

トラックバック(0)

トラックバックURL: http://labs.timedia.co.jp/mt/mt-tb.cgi/279

コメントする

このブログ記事について

このページは、kanaが2012年1月17日 17:50に書いたブログ記事です。

ひとつ前のブログ記事は「Rubyistよ、irbを捨ててPryを使おう」です。

次のブログ記事は「Vim で Git diff の出力からカーソル下にある変更箇所へ移動する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。