Paepoi

Paepoi » Gedit Tips » Gedit のモードライン

Gedit のモードライン

まず最初に、プログラミングをする人以外には不要なプラグインです。

秀丸や EmEditor はファイルタイプ毎にタブ幅や半角スペース化が指定できて便利でした。
Gedit にその機能はありません、いや、Linux にその文化はありません。

というより、ファイルタイプどころかファイル毎に指定することが可能。
Windows と Linux は文化が違うということを頭に置いてください。

使い方

標準プラグインのモードラインを有効にするだけで使えます。
emacs, vim, kate の書式が使えますがココでは emacs のみを解説。
emacs 形式は -*- で囲むだけで適用される。

ファイルは何でもいいですが、例として test.txt という空のファイルを作成。
それを Gedit で開いてみます。

img/modeline01.png

モードは当然「なし」になっています。
コレに以下を記述して Ctrl+S にて上書き保存してみましょう。
-*- Mode: c -*-

img/modeline02.png

モードが C に変わりました。
C 言語ソースでこのままでは困るのでコメントにします。

img/modeline03.png

コメントにしても有効のままです。
Mode をシェルスクリプトに書き換えるとどうなるか。

img/modeline04.png

と拡張子は txt のまま、シバンの記述もしていない。
にもかかわらずどうにでもモードを変更できます。
Ctrl+S で上書きする毎に切り替わる、読み直しも当然同じ結果に。

それだけではありません。
最初に書いたとおりタブ幅や半角スペース化も指定できます。
指定を複数記述するにはセミコロンで区切ります。
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */

上記は GNOME 標準アプリの C ソースの先頭に必ず入っています。
この記述をしておけば GPL で複数人で作成しているソースコードもインデントのスタイルが統一されるというわけです。
キー
Modeモード、大文字でも小文字でもよい
tab-widthTab キーでインデントする幅
indent-tabs-modenil なら幅分の空白、t なら 0x09 になる
c-basic-offset解らないけど互換用?

通常設定は Python ガイドラインに合わせて Tab キーは半角スペース 4 つ。
だけどたまに C, GLib をやる場合はコレを記述するといった使い方に便利。

逆な人は Python ではこんなふうに記述すればいい。
#!/usr/bin/env python3
# -*- Mode: python; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*-

Copyright(C) sasakima-nao All rights reserved 2002 --- 2024.