--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/11/26

vim - textwidth と formatoptions と gq

これがやりたかったんだ、というオプションとコマンドを発見。

vim で set textwidth=n と設定すると、一行が n 文字に達すると、これを越えないように、空白の後で改行が挿入される。しかしデフォルトだと、これがマルチバイト文字の間では動作しない。例えば、日本語の文書を横 40 文字で改行したいという場合、set textwidth=80 (マルチバイト文字なので2倍) としただけでは、期待する動作とならない。

これを解決するのが formatoptions というオプション。色んなフラグを設定できるのだけど、この中に m という、文字コードが 255 より後のマルチバイト文字の間でも改行する というフラグがある。これを有効化すると、先の例で期待する動作を得られる。

もう1つ便利なのが、formatoptions の q というフラグ。vim だとデフォルトで有効化されているのだけど、set compatible していると、デフォルトでは無効となっている。q フラグは、gq で整形するというものである。1GgqG とやれば、文書全体を整形できる。

この辺は vim で日本語文書を書くときに便利なので、抑えておきたい。

スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。