vi のモード #2

それは私も分かって書いています。このタイトルはただの冗談です。

ならそう書いておいたほうが知らない人に無駄な誤解をばら撒かなくていいかなと思ったり。

ex mode も出てきますが、これはむしろ ex というコマンド名で起動したときを表し、visual mode に対応するものらしい。

これはそのとおりかも。vim のドキュメント*1では、":" を押して入るコマンド入力モードを command-line mode、ex という名前で起動したとき(もしくは command mode から Q を押したとき)のラインエディタのモードを ex mode と呼んでいる。訂正したいと思う。
昔みた記事*2には command mode, ex mode, insert mode の3つが書いてあった気がするんだけどな。記憶違いかな。
ついでなので、vim の基本の6つのモードの紹介とかしてみる。vim の visual mode は screen editor としての意味の visual mode とは違うので注意。

Normal mode

起動時のモード。hjkl でカーソル移動できる。traditional vi の command mode に相当。

Visual mode

Normal mode から V, v, Ctrl-V で移行する範囲指定のモード。traditional vi には無い。

Select mode

MS-Windows の selection mode like な範囲指定のモード。Visual mode と似たようなものだが細かい挙動が違うらしい。使わないので詳しいことは知らない。Visual mode と同様、traditional vi には無い。

Insert mode

Normal mode から i, a, o などで入るテキスト入力用のモード。

Command-line mode

Normal mode から ":" で移行する ex command の入力用モード。"/" や "?" での検索モードもこれに含まれる。コマンドを実行すると Normal mode に戻る。

Ex mode

ex という名前で起動するか、 Normal mode から "Q" で移行する ex command によるラインエディタモード。

*1::help vim-modes

*2:多分 Linux Magazine の vi 入門