Paepoi » Gedit Tips » Gedit のモードライン
Gedit のモードライン
まず最初に、プログラミングをする人以外には不要なプラグインです。
秀丸や EmEditor はファイルタイプ毎にタブ幅や半角スペース化が指定できて便利でした。
Gedit にその機能はありません、いや、Linux にその文化はありません。
というより、ファイルタイプどころかファイル毎に指定することが可能。
Windows と Linux は文化が違うということを頭に置いてください。
秀丸や EmEditor はファイルタイプ毎にタブ幅や半角スペース化が指定できて便利でした。
Gedit にその機能はありません、いや、Linux にその文化はありません。
というより、ファイルタイプどころかファイル毎に指定することが可能。
Windows と Linux は文化が違うということを頭に置いてください。
使い方
標準プラグインのモードラインを有効にするだけで使えます。
emacs, vim, kate の書式が使えますがココでは emacs のみを解説。
emacs 形式は -*- で囲むだけで適用される。
ファイルは何でもいいですが、例として test.txt という空のファイルを作成。
それを Gedit で開いてみます。
モードは当然「なし」になっています。
コレに以下を記述して Ctrl+S にて上書き保存してみましょう。
モードが C に変わりました。
C 言語ソースでこのままでは困るのでコメントにします。
コメントにしても有効のままです。
Mode をシェルスクリプトに書き換えるとどうなるか。
と拡張子は txt のまま、シバンの記述もしていない。
にもかかわらずどうにでもモードを変更できます。
Ctrl+S で上書きする毎に切り替わる、読み直しも当然同じ結果に。
それだけではありません。
最初に書いたとおりタブ幅や半角スペース化も指定できます。
指定を複数記述するにはセミコロンで区切ります。
上記は GNOME 標準アプリの C ソースの先頭に必ず入っています。
この記述をしておけば GPL で複数人で作成しているソースコードもインデントのスタイルが統一されるというわけです。
通常設定は Python ガイドラインに合わせて Tab キーは半角スペース 4 つ。
だけどたまに C, GLib をやる場合はコレを記述するといった使い方に便利。
逆な人は Python ではこんなふうに記述すればいい。
emacs, vim, kate の書式が使えますがココでは emacs のみを解説。
emacs 形式は -*- で囲むだけで適用される。
ファイルは何でもいいですが、例として test.txt という空のファイルを作成。
それを Gedit で開いてみます。
モードは当然「なし」になっています。
コレに以下を記述して Ctrl+S にて上書き保存してみましょう。
-*- Mode: c -*-
モードが C に変わりました。
C 言語ソースでこのままでは困るのでコメントにします。
コメントにしても有効のままです。
Mode をシェルスクリプトに書き換えるとどうなるか。
と拡張子は txt のまま、シバンの記述もしていない。
にもかかわらずどうにでもモードを変更できます。
Ctrl+S で上書きする毎に切り替わる、読み直しも当然同じ結果に。
それだけではありません。
最初に書いたとおりタブ幅や半角スペース化も指定できます。
指定を複数記述するにはセミコロンで区切ります。
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
上記は GNOME 標準アプリの C ソースの先頭に必ず入っています。
この記述をしておけば GPL で複数人で作成しているソースコードもインデントのスタイルが統一されるというわけです。
キー | 値 |
---|---|
Mode | モード、大文字でも小文字でもよい |
tab-width | Tab キーでインデントする幅 |
indent-tabs-mode | nil なら幅分の空白、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.