vi (vim) について。
vi は最も古くからあるテキストエディタ。Linux / Mac には必ず入っている。vim はその拡張版で今は vim の方もほぼ必ず入っている。慣れると感動するほど使いやすいエディタ。-
基本的な使い方
-
起動の仕方。ターミナルで、以下のコマンドを実行。
vim にはモードと呼ばれる 4 つのモード (ノーマル、ビジュアル、挿入、コマンドライン) が存在する。起動時には、ノーマルモードになっている。
ビジュアルモードにするためには、"v" をタイプする。
挿入モードにするために、"i" をタイプする。
コマンドラインモードにするためには、":" をタイプする。
各モードからノーマルモードに戻るためには Esc キーをタイプする。 -
カーソル移動の仕方。
基本的にはマウスは使わない。カーソル移動は、
左: h、下: j、上: k、右: l
であり、全て右手のホームポジションからすぐ打てる位置になっている。
-
起動の仕方。ターミナルで、以下のコマンドを実行。
vim にはモードと呼ばれる 4 つのモード (ノーマル、ビジュアル、挿入、コマンドライン) が存在する。起動時には、ノーマルモードになっている。
-
応用的な使い方
基本的に四角括弧 [ ] で囲まれたものはオプション (つけなくても良い)。-
範囲の指定
cmd の前に適用範囲 [range] を指定することができる。
いくつか例:- 全範囲 (指定無し)
- 行指定 (2 - 10 行目までに適用)
- 行指定 (10 - 最終行)
- 行指定 (今の行から最終行)
- :g の使い方 (cf: Power of g) :g コマンドはその後の <pattern> に一致する行について cmd コマンドを実行するコマンドである。[range] は適用範囲 (前述)。
-
マクロで繰り返す (cf:
Vim で編集を効率的に行うための繰り返し作業について - deris の日記)
まず、マクロモードに qq で入る。次に cmd を実行する。n は次の実行に向けての準備。終わりは q で戻る。
例)- qq でマクロモードへ。recording と表示される。
- I で行頭に /* を挿入。<Esc> キーで挿入モードを出る。
- A で行末に */ を挿入。<Esc> キーで挿入モードを出る。
- nq で次の行に移りながら終わり。
-
置換によって改行を加える (cf:
vim で置換の際に改行を入れる - hogehoge @teramako)
検索で改行をマッチさせるためには \n を用いた。置換の際に改行を入れる場合は特殊文字を CR コード (?) で入力すればいい。
例) ここで、^M は特殊文字で、Ctrl+v Ctrl+m を順番にタイプすると入力できる。
-
範囲の指定
cmd の前に適用範囲 [range] を指定することができる。