パーソナルツール

txtfmtテキスト装飾プラグイン #3 落ち穂拾い、各機能詳細

作者: 小見 拓 最終変更 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の時に動作します。 通常、txtfmtプラグインの機能を使用したい対象のファイルは、 そのままではtxtfmtファイルタイプのファイルではないでしょうから、 ファイルタイプをtxtfmtに変更する必要があると思います。
ファイルタイプをtxtfmtに変更するには、

  • :set filetypeコマンドでファイルタイプを設定する
  • モードラインでファイルごとに、ファイルタイプを設定する
  • :autocmdコマンドを使用して、ファイルタイプを設定する

といった方法があります。

:set filetypeコマンドでファイルタイプを設定する

「set filetype」コマンドを実行して、ファイルタイプを「txtfmt」に変更します。
この方法では、ファイルを開くたびにコマンドを実行する必要があります。

:set filetype=txtfmt

txtfmtプラグインは、たいてい、他のファイルタイプと同時に使用することになるので、
実際には、例えば、次のようにコマンドを実行することになります。

" perlファイルタイプとtxtfmtファイルタイプを設定
:set filetype=perl.txtfmt

モードラインでファイルごとに、ファイルタイプを設定する

モードラインを利用して、ファイルにファイルタイプの設定を埋め込みます。
ファイル別にtxtfmtファイルタイプを使うか使わないかを指定できます。 この方法では、ファイルを再度開いても設定は残りますが、ファイルにモードラインを埋め込む必要があります。 モードラインの設定方法については、記事を書いてあるので、そちらを参照してください。

モードラインを使って、ファイルごとにvimエディタのオプションを指定する。

モードラインを使用してファイルタイプを設定する場合は、

# vim:set ft=perl.txtfmt :

のようなコードをファイルの上端か、下端に埋め込むことになります。

:autocmdコマンドを使用して、ファイルタイプを設定する

設定ファイルでtxtfmtファイルタイプを使用するように設定してしまう方法です。
この方法は、ファイルの拡張子などで、txtfmtファイルタイプを使用するかしないかを指定できます。
Vimエディタの設定ファイルか、 設定ファイルディレクトリに用意した「filetype.vim」ファイルに、次のような設定を書きます。

" 拡張子plのファイルをperl、txtfmtファイルタイプで開く
:autcmd! BufRead,BufNewFile *.pl setfiletype perl.txtfmt

txtfmtプラグインのプロンプトの呼び出し

txtfmtテキスト装飾プラグイン #1 インストールから簡単な使い方まで では「\i」と入力して txtfmtプラグインのプロンプトを呼び出すと説明していますが、実際には、 「\i」の他にもプロンプトを呼び出すキーマッピングは用意されていました。 下表が、その用意されているキーマップの一覧です。

コマンド プロンプト実行後ステータス 説明
<LocalLeader>i 入力モード カーソル左の位置にマーカー文字列を挿入する。
<LocalLeader>I 入力モード 行の先頭位置にマーカー文字列を挿入する。
<LocalLeader>a 入力モード カーソル右の位置にマーカー文字列を挿入する。
<LocalLeader>A 入力モード 行末にマーカー文字列を挿入する。
<LocalLeader>o 入力モード カーソル行の下の行にマーカー文字列を挿入する。
<LocalLeader>O 入力モード カーソル行の上の行にマーカー文字列を挿入する。
<LocalLeader>s 入力モード テキスト削除後、マーカー文字列を挿入する。

↑上表のキーマッピングを実行すると、プロンプト実行後に入力モードになります。
↓下表のキーマッピングはプロンプト実行後、ノーマルモードに戻ります。
上下の表で、対応するコマンドが用意されているのがわかるでしょうか。

コマンド プロンプト実行後ステータス 説明
<LocalLeader>vi ノーマルモード カーソル左の位置にマーカー文字列を挿入する。
<LocalLeader>vI ノーマルモード 行の先頭位置にマーカー文字列を挿入する。
<LocalLeader>va ノーマルモード カーソル右の位置にマーカー文字列を挿入する。
<LocalLeader>vA ノーマルモード 行末にマーカー文字列を挿入する。
<LocalLeader>vo ノーマルモード カーソル行の下の行にマーカー文字列を挿入する。
<LocalLeader>vO ノーマルモード カーソル行の上の行にマーカー文字列を挿入する。
<LocalLeader>vs ノーマルモード テキスト削除後、マーカー文字列を挿入する。

Note

<LocalLeader> は何か特別な設定を行っていなければ、「\」になります。
つまり、 <LocalLeader>a であれば、 \a と入力してください。

txtfmtプラグインで指定できるフォーマット

txtfmtプラグインで指定できるテキストフォーマットは下表の通りです。
txtfmtプラグインのプロンプトを使用してマーカー文字列を挿入すると、 マーカー文字列以降のテキストが指定したフォーマットに変更されます。

入力コード フォーマット 説明 備考
fu underline アンダーライン デフォルトで使用可能。
fb bold ボールド デフォルトで使用可能。
fi italic イタリック デフォルトで使用可能。
f- - フォーマットを無効にする デフォルトで使用可能。

txtfmtプラグインで指定できるカラー

下表がtxtfmtプラグインで指定できる文字描画色の一覧です。
Txtfmtプラグインのプロンプトで下表のコードを入力しマーカー文字列を埋め込むと、 マーカー文字列以降のテキストが入力したコードに対応する色に変化します。

入力コード 設定される色 説明
ck Black ブラック
cbla[ck] Black ブラック
cb[lue] DarkBlue ブルー
cg[reen] DarkGreen グリーン
ct[urquoise] LightGreen ライトグリーン
cr[ed] DarkRed レッド
cv[iolet] DarkMagenta マゼンダ
cy[ellow] DarkYellow イエロー
cw[hite] White ホワイト
c- - 色設定を無効にする

Note

表中で、 "[" と "]" に囲まれた範囲のコードは省略できます。
例えば、 "cr[ed]" の場合は、 "cr" と入力しても動作します。

トークンへのジャンプコマンド

マーカー文字列を埋め込んだ場所までカーソルを移動するコマンドが用意されています。
コマンドの書式は次の通りです。

{移動する方向} [{移動する距離}] {マーカー文字列の種類}

このコマンドは、移動する方向を示すキーワード、移動する距離を示すキーワード、 マーカー文字列の種類を示すキーワードを組み合わせ、

" 次のマーカー文字列まで移動。
]a

" 次のフォーマット指定のマーカー文字列まで移動。
]f

" 次のtxtfmtプラグインのテキスト装飾エリアの最後の位置まで移動。
]ef

" 前方のカラー指定のマーカー文字列まで移動。
[c

のように実行します。

移動コマンドとして使える各命令の詳細は以下の通りです。

移動する方向を示すキーワードとして使用可能な命令
キーワード 説明
] 後方(↓)
[ 前方(↑)
移動する距離を示すキーワードとして使用可能な命令
キーワード 説明
  未指定にした場合。マーカー文字列の位置まで移動。
t マーカー文字列の前の位置まで移動。
b txtfmtプラグインのテキスト装飾エリアの先頭位置まで移動。
e txtfmtプラグインのテキスト装飾エリアの末尾位置まで移動。
マーカー文字列の種類
キーワード 説明
a txtfmtプラグインのマーカー文字列
f フォーマット設定のマーカー文字列
c カラー設定のマーカー文字列

その他のコマンド

:MakeTestPage

「:MakeTestPage」コマンドを実行すると、txtfmtプラグインの用意するテキスト装飾の一覧と、
現在の設定状況を確認できる専用ページを表示します。

:MakeTestPage
ドキュメントアクション
コメント
blog comments powered by Disqus