最近のVimログ (2009-11-10 〜 2009-12-13)

最近Vimをいじっていて気づいたことを取り留めなく書くだけの記事です。

環境:

OS
WindowsXP SP3
Vim
Vim7.2香り屋版

今回の話題:
スペルチェック、バッファリロード、一文字へのオペレート、オプショントグル、IMEロケール、モードライン、ペースト

  • :setl spell で現在のウィンドウのスペルチェックをする。 ]s で次のミススペルへ、[s で前のミススペルへ。:setl nospell で終了。zg でカーソル下の単語を正しい単語として登録、zw で間違った単語として登録。詳細は :help spell.txt を。
  • :e! で現在のバッファをリロード。外部プログラムによって現在のバッファのファイルが変更された時や、編集を最初からやり直したいときに便利。
  • 一文字だけを選択するための motion がずっとわからなかったが、単に l (一文字右へ移動) だけでいいとな。
    • dlで一文字削除、ylで一文字ヤンク、gUlで一文字大文字にする(しかしどう考えてもr<一文字>のほうが楽)。
  • boolean 値をとるオプションを ! や inv でトグル(ON/OFF切り替え)する場合は、オプション名は省略不可のようだ。
    • OK
      • :set num
      • :set number!
      • :set invnumber
    • NG
      • :set nu!
      • :set invnum
  • sshでリモートにログインして、そこでVimを利用する場合、IMEはローカルのものを使う。なので、リモートのVimにおけるIME関連の設定は意味がない。このため、IMEをうまく切り替えたりする設定(Escで挿入モードを抜けたときにIMEをOFFにするとか)ができない。
  • :language コマンドでVimのシステム言語(ロケール)を設定できる。
    • :language messages ja でシステムメッセージを日本語に、 :language messages en で英語にできる。ただ、手元の Linux 環境では E197 が出た。言語ファイルのインストールが必要?
  • モードラインによって、 _vimrc で行った設定が上書きされることがあるが、これに気づかずに混乱することが多い。
    • 例えば、 _vimrc で :set textwidth=0 としていても、 ヘルプを表示したウィンドウは モードラインの設定により textwidth=78 になる。この後ヘルプウィンドウで :e filename すると、そのまま textwidth=78 になってしまう。
  • Vim in Terminal で、ペースト時にテキストがずれる場合は、 :set paste すると正しく貼れる。貼り終わったら :set nopaste 。
    • :help 'paste' を読む限り、gVimではペースト時にずれることはあまりないらしい。
  • 現在の _vimrc : 359行(空行、コメント含)。前回 : 165行。