いまさらですが、viの使い方について自分のための備忘録メモ。viについて知らない人にも伝わるように、ちょっとだけ加筆修正して、公開をします。
今更感たっぷりなので、あまり気にしないでください。
- viとは、Emacsと共にUNIX環境で人気があるテキストエディタ。ビル・ジョイによって開発された。
- vimとは、vi から派生し、発展した高機能なテキストエディタ。viに対して上位互換。
ということで、多くがvimがインストールされていると思います。まずは、ターミナルを起動して、下記を入力してみてください。
$ vimtutor
チュートリアルが始まります。
まずは、viのモードについて書きます。vimは、編集モードとコマンドモードが存在します。
| 編集モード | テキストを編集するモードです。Escでコマンドモードへ戻る。 |
| コマンドモード | 起動直後のモードでコマンドを入力可能です。iなどを入力して編集モードに入ってから編集作業を行います。 |
コマンド一覧です。特に私がよく使うコマンドは、着色しておきました。これも自分のためにということで。
| 終了キー | :q | セーブせずに終了 |
| :q! | 変更した行もセーブせずに終了 | |
| :w | セーブするが終了しない。 | |
| :wq | セーブして終了 | |
| 編集モードへ移るためのキー | i | 現在のカーソル位置から挿入。 |
| R | 現在のカーソル位置から置換。 | |
| A | 現在行の末尾に追加。 | |
| O | 現在行の前に行挿入。 | |
| o | 現在行の次に行挿入。 | |
| カーソル移動キー | h(←) | 左 |
| j(↓) | 上 | |
| k(↑) | 下 | |
| l(→) | 右 | |
| 0 | 行頭へ | |
| $ | 行末へ | |
| [Enter] | 次の行の先頭へ | |
| w | 次の単語へ | |
| b | 前の単語へ | |
| ctrl + f | 次画面へ | |
| ctrl + b | 前画面へ | |
| 1G | 文頭へ | |
| G | 文末へ | |
| nnG | nn行目へ | |
| 変更キー | x | 1文字削除 |
| dd | 1行削除(カット) | |
| cw(Change Word) | 1語変更 | |
| c$ | カーソル位置から行末まで変更 | |
| dw(Delete Word) | 1語削除 | |
| d$ | カーソル位置から行末まで削除 | |
| 検索 | /正規表現 | 前方検索 |
| ?正規表現 | 後方検索 | |
| n | 次の候補 | |
| N | 前の候補 | |
| 置き換え | :1,$s/正規表現/置き換え文字列/g | 文書内の全ての「正規表現」を「置き換え文字列」に置換 |
| カット/コピー&ペースト | yy | 1行コピー |
|
複数行コピーまたはカット | |
| dd | 1行カット | |
| p | ペースト(張り付け) | |
| マクロ | qa | バッファaにマクロを記録。記録中は、recodingの表示があります。バッファは、任意のアルファベットを指定可能。 |
| q | マクロ記録終了。 | |
| @a | バッファaに記録されたマクロを実行。 | |
| n@a | バッファaに記録されたマクロをn回実行。 | |
| その他 | .(ドット) | 直前の変更操作の繰り返し |
| u | 直前の変更操作の取り消し(何回でも戻れる) | |
| :r xxx | ファイル xxx の内容を次の行に挿入 | |
| :r! xxx | OSの xxx コマンドを実行し、その結果を次の行にに挿入。 | |
| :h | 日本語マニュアルを表示 |