geditのオプションをドキュメントに記述する
「モードライン」プラグインは、「gedit」の設定をドキュメントに記述し、ドキュメントごとに設定を行うプラグインです。「gedit」の設定については、「geditの設定画面を表示する」を参考にしてください。
ドキュメントごとにgeditの設定を指定できる
デフォルトでは、「gedit」の設定はすべてのドキュメントに適用されます。ドキュメントによっては、タブ幅の設定やテキストの折り返しなどの設定を、個別に指定したい時があります。
またドキュメントによっては、その設定を常に保持したい時もあります。
「モードライン」プラグインを利用すれば、ドキュメントごとに「gedit」の設定を行うことができます。
また各設定は直接ドキュメントに記述するため、後でドキュメントを開き直した時でも、ドキュメントに記述した設定が反映されます。
モードラインとは
各種設定を記述した行のことです。特定のフォーマットに従って設定を記述します。
モードラインの種類
「モードライン」の記述方法には、以下の3種類のスタイルがあります。既に上記のエディターで編集しているドキュメントを「gedit」で開いた際、記述されているモードラインの内容を「gedit」の設定に反映することができます。
「gedit」で新規に「モードライン」を記述する場合、上記のいずれかの記述方法で「モードライン」を記述します。
サポートしている設定
「モードライン」に記述された設定をすべてサポートしているわけではありません。設定が反映されるのは「gedit」がサポートしている設定だけです。
「gedit」がサポートしていない設定は無視されます。
プラグインを有効にする
「モードライン」プラグインを有効にするには、設定画面の「プラグイン」タブで「モードライン」にチェックを入れます。Vimモードラインの記述方法
「Vim」のスタイルでモードラインを記述する方法です。モードラインの記述位置
モードラインの記述は、ドキュメントの先頭3行以内に記述するか、もしくは、ドキュメントの末尾3行以内に記述します。フォーマット1
フォーマットは以下のようになります。
任意のテキスト vim: オプション オプション ・・・
任意のテキスト
任意のテキストを記述できます。省略可能です。
vim
「vim」の箇所は以下のいずれかの書き方も可能です。- vi
- ex
オプション
設定を記述します。オプションの内容は後述します。
記述例
記述例です。テキストの折り返しを無効にし、ハイライトモードに「C/C++/ObjC のヘッダー」を指定しています。
// vim:nowrap ft=chdr class myClass{ public: myClass(int val); virtual ~myClass(); public: int getValue(); bool setValue(int val); private: int value; };
フォーマット2
以下のように記述することもできます。
任意のテキスト vim: set オプション オプション ・・・:任意のテキスト
「フォーマット1」と異なり、最後に任意のテキストを記述できます。
任意のテキスト
任意のテキストを記述できます。省略可能です。
vim
「vim」の箇所は以下のいずれかの書き方も可能です。- vi
- ex
set
「set」の箇所は「se」と記述しても良いです。オプション
設定を記述します。オプションの内容は後述します。
記述例
記述例です。テキストの折り返しを無効にし、ハイライトモードに「C/C++/ObjC のヘッダー」を指定しています。
// vim:set nowrap ft=chdr:モードラインです。 class myClass{ public: myClass(int val); virtual ~myClass(); public: int getValue(); bool setValue(int val); private: int value; };
Vimモードラインで指定できるオプション
Vimモードラインで指定できるオプションの一覧です。ファイルタイプ(ft, filetype)
ドキュメントのファイルタイプを指定します。「gedit」ではここに記述されたファイルタイプを、ハイライトモードのモードに使用します。
ファイルタイプの識別子は、「ファイルタイプの識別子について」を参考にしてください。
記述例
vim:filetype=chdr
タブの代わりにスペースを挿入する(et, expandtab)
タブの代わりにスペースを挿入する設定です。設定を有効にする記述例
vim:expandtab
設定を無効にする記述例
vim:noexpandtab
タブの幅(ts, tabstop)
タブの幅の設定です。記述例
vim:tabstop=4
インデント幅(sw, shiftwidth)
インデントの幅を指定します。インデントの幅を指定しなかった場合、インデント幅はタブの幅と同じになります。
記述例
vim:shiftwidth=4
テキストの折り返しを有効にする(wrap)
テキストの折り返しを有効にする設定です。設定を有効にする記述例
vim:wrap
設定を無効にする記述例
vim:nowrap
行の右マージンを表示する(tw, textwidth)
行の右マージンを表示する設定です。記述例
vim:textwidth=30