「Vim完全バイブル」のメモの続きです。
今回はテキストの範囲選択を視覚的に行える便利なビジュアルモードについてまとめます。
ビジュアルモードを使うと、例えばテキストを範囲選択して一度に削除、といったことが簡単にできるようになります。
「第6章 基本的なビジュアルモード」の内容は以下の通りです。
- ビジュアルモードとは
- 3つのビジュアルモード
- ビジュアルモードの中断
- ビジュアルモードとビジュアルラインモードでの編集作業
- ビジュアルブロックモードでの編集作業
3つのビジュアルモード
ビジュアルモードには以下の3つの種類がある。
- ビジュアルモード(文字単位選択) 開始キーはv
- ビジュアルラインモード(行単位選択) 開始キーはV
- ビジュアルブロックモード(矩形選択) 開始キーはCTRL-V
ビジュアルブロックモード(矩形選択)
開始キーはCTRL-V
また、あるビジュアルモード中に他のビジュアルモードの開始キーを入力すると、そのモードに切り替えることができる。
ビジュアルモードの中断
編集を行わずにビジュアルモードを中断するには以下の操作を行う。
を入力する - 現在のビジュアルモードの開始キーを入力する
- Vimのウィンドウ中で左クリックする(GVimのみ)
- 他のバッファに移動するコマンドを実行する
ビジュアルモードとビジュアルラインモードでの編集作業
ビジュアルモードとビジュアルラインモードでの各コマンドの動作は以下の通り。
ビジュアル(ライン)モード中の編集コマンド
d | 選択範囲のテキストを削除する |
D | 選択範囲を含む行のテキストをすべて削除する |
y | 選択範囲のテキストをヤンク(コピー)する |
Y | 選択範囲を含む行のテキストをすべてヤンク(コピー)する |
c | 選択範囲のテキストを削除し、新しいテキストを挿入する(挿入モードに移行) |
C | 選択範囲を含む行のテキストをすべて削除し、新しいテキストを挿入する(挿入モードに移行) |
J | 選択範囲の各行を連結する(スペース区切りあり) |
gJ | 選択範囲の各行を連結する(スペース区切りなし) |
ビジュアルモードとビジュアルラインモードでの各コマンドの動作をヘルプで調べるには、各コマンド名の前にv_を付加すればよい。
:h v_d
ビジュアルブロックモードでの編集作業
ビジュアルブロックモードでの各コマンドの動作は以下の通り。
少し変わった動作をするコマンドもあるので注意。
ビジュアルブロックモード中の編集コマンド
I | 選択範囲の左端から各行に同じテキストを挿入する(挿入モードに移行) |
A | 選択範囲の右端から各行に同じテキストを挿入する(挿入モードに移行) |
d | 選択範囲のテキストを削除する |
D | 選択範囲の左端から行末までのテキストをすべて削除する |
c | 選択範囲のテキストを削除し、選択範囲の左端から各行に同じテキストを挿入する(挿入モードに移行) |
C | 選択範囲の左端から行末までのテキストをすべて削除し、選択範囲の左端から各行に同じテキストを挿入する(挿入モードに移行) |
例。
以下のようにビジュアルブロックが選択されているとする(赤枠で示した部分が選択範囲)。
上の例のように、I、c、Cコマンドは選択範囲に入っていない短い行には文字列を挿入しないが、Aコマンドは短い行にも文字列を挿入する。
ビジュアルブロックモードでの各コマンドの動作をヘルプで調べるには、各コマンド名の前にv_b_を付加すればよい。
:h v_b_d
ビジュアルブロックモード中のコマンドは変わった動作をするものが多いので、詳しく知りたい方はコマンドのヘルプを見るか、各コマンドの使用例(blockwise-examples)を参照して下さい。
:h blockwise-examples
今回はここまで
次回はVimでプログラミングをする時に役立つコマンドやオプションについてです。
ちょっと次回はページ数多いな…。30ページくらいあるよぅ。