パーソナルツール

txtfmtテキスト装飾プラグイン #2 ケース別操作方法

作者: 小見 拓 最終変更 2012年01月08日 11時51分

このページでは、txtfmtプラグインを使う上で、 「こういう時はどうすれば良いのだろう」といった、 状況ごとに良く遭遇しうるであろう事例と、それに対する解決方法を扱います。 (Windows, Mac)

概要

txtfmt : Syntax/Filetype plugin for formatting plain text
http://www.vim.org/scripts/script.php?script_id=2208

このページでは、txtfmtプラグインを使う上で、 「こういう時はどうすれば良いのだろう」といった、
状況ごとに良く遭遇しうるであろう事例と、それに対する解決方法を扱います。

設定した色、フォーマットを無効化したい

txtfmtプラグインで文字の色やフォーマットを設定した後、 ある位置からそれらの設定を取り消して、元の文字色、フォーマットを使用したい場合は、
txtfmtプラグインのプロンプトで、カラー、フォーマットを取り消すキーワードとして「c-」「f-」を入力します。

まず、txtfmtプラグインのプロンプトを呼び出し、

" txtfmtのプロンプトを呼び出す
\i

そのプロンプトで、消去するテキスト装飾を指定する。

txtfmtプラグインのテキスト装飾を消去


カラーを取り消す場合は「c-」、

" 色を取り消すマーカー文字を挿入する
c-


フォーマットを取り消す場合は「f-」と指定します。

" フォーマットを取り消すマーカー文字を挿入する
f-

色、フォーマットを一度に指定したい

txtfmtプラグインのプロンプトでは、各オプションの指定をカンマで区切れば、
色とフォーマットを一度に設定できます。

" 青色とボールドを一度に指定する
cb,fb


一度に指定できる文字の色は一種類だけですが、
テキストのフォーマットの指定は、キーワードを並べることで、同時に複数指定できます。

" ボールド、イタリック、アンダーライン
fbiu
テキストのフォーマットを一度に複数指定

txtfmtファイルタイプを、他のファイルタイプと共存させたい

txtfmtプラグインは、ファイルタイプを「txtfmt」に設定した時だけに動作します。
しかし、例えば、プログラム言語のコードを編集している場合などでは、 その言語用のファイルタイププラグインが利用できなくなると困ってしまうはずです。

幸いVimエディタでは、「.(ピリオド)」で区切って複数のファイルタイプを指定すれば、 複数のファイルタイプのファイルタイププラグイン、インデントファイルを読み込めるので、
この機能を利用すれば、ファイルタイプ「txtfmt」と、他のファイルタイプを共存させることも可能です。

" 例えば、次のように「.」で区切って、3つのファイルタイプを指定すると、
" ファイルタイプ「aaa」「bbb」「ccc」のファイルタイププラグイン、インデントファイルを読み込む。
:set filetype=aaa.bbb.ccc


具体的には、例えば、perlファイルタイプと、txtfmtファイルタイプを同時に利用したい場合は、
次のようにファイルタイプを指定すれば良いことになります。
(シンタックスハイライトを有効にしたい方を先に指定します。)

" perlファイルタイプ + txtfmtファイルタイプ
:set filetype=perl.txtfmt

Note

残念ながら、txtfmt以外のファイルタイププラグインの中には、複数のファイルタイプ読込を想定していないものもある。

\iでtxtfmtプラグインを呼び出すと、実行後、入力モードに遷移してしまう

ここまでtxtfmtプロンプト呼び出しに利用してきていた「\i」では、 プロンプト実行後に入力モードへ遷移してしまいます。
しかし、「\i」の代わりに「\vi」を実行して、txtfmtプラグインのプロンプトを実行すると、 プロンプト実行後はノーマルモードの状態になります。

次の表は、txtfmtプラグインのキーマッピングの一覧の一部です。
この表の他にも、txtfmtプラグインのプロンプトを呼び出すキーマッピングは用意されています。

マッピング プロンプト実行後ステータス 説明
<LocalLeader>i 入力モード txtfmtプロンプト実行後、カーソル左にマーカー文字列を挿入。
<LocalLeader>a 入力モード txtfmtプロンプト実行後、カーソル右にマーカー文字列を挿入。
<LocalLeader>vi ノーマルモード txtfmtプロンプト実行後、カーソル左にマーカー文字列を挿入。
<LocalLeader>va ノーマルモード txtfmtプロンプト実行後、カーソル右にマーカー文字列を挿入。、

Note

<LocalLeader> は何か特別な設定を行っていないのであれば、「\」になっています。

マーカー文字列を入れた位置に移動したい

マーカー文字列のある位置までカーソルを移動するコマンドが用意されていて、
そのコマンドは、方向を表す「]」「[」と、マーカー文字列の種類を表す「a」「f」「c」を組み合わせて指定します。

カラー指定、フォーマット指定のマーカー文字列を検索する場合は「a」、

" 後方(↓方向)のマーカー文字列を検索し、カーソルを移動する。
]a
" 前方(↑方向)のマーカー文字列を検索し、カーソルを移動する。
[a


フォーマット指定のマーカー文字列を検索する場合は「f」、

" 後方(↓方向)のフォーマット指定のマーカー文字列を検索し、カーソルを移動する。
]f
" 前方(↑方向)のフォーマット指定のマーカー文字列を検索し、カーソルを移動する。
[f


カラー指定のマーカー文字列を検索する場合は「c」を使用します。

" 後方(↓方向)のカラー指定のマーカー文字列を検索し、カーソルを移動する。
]c
" 前方(↑方向)のカラー指定のマーカー文字列を検索し、カーソルを移動する。
[c
ドキュメントアクション
コメント
blog comments powered by Disqus