拡張子によるモード指定
.jedrcに以下のようなものを追加
add_mode_for_extension("sh", "bashrc");
コメントなどで指定
先頭行に以下のようなもの含むものを書くとモードが指定できる。
-*- your_mode -*-
シェルだと以下のようなものを書けばいいらしい。
# -*- sh_mode -*-
ファイル名からモード指定
% ファイルを開くときのフック
%
% ここでファイル名を元にmodeを決める
public define user_find_file_hook()
{
% ファイル名の取得
variable file;
(file,,,) = getbuf_info();
switch (file)
{case "Makefile": runhooks("make_mode"); }
}
条件分岐になっているところは適当に。
runhooks は定義されているのを確認してから eval するもの。
FreeBSD4の ports/japanese/jed
B0.99.8+J0.6.7
0.99.16と同じ .jedrc を使うときの用の問題と対策
- c_set_styleがない
if (is_defined("c_set_style") > 0)
eval("c_set_style(\"bsd\")");
- /etc/jed.rc がない
() = evalfile("jed.rc");
- 以下の設定を追加しないとTABが効かない
(global_mode_hook or 中のlocal_setkeyが効いてない模様
setkey("self_insert_cmd", "\t");
setkey("backward_delete_char", "^?");
0.99.8+J0.6.7と0.99.18の共存
Debianのが0.99.18に上がってから
- evalfile("~/hoge.sl") を /usr/〜/jed/~/hoge.sl とかいう愉快なパスを読むようになった
- evalfile("jed.rc")も、そんなファイルがないといわれるようになった
ので設定をいろいろ見直し。
- evalfile("jed.rc")はFreeBSDの0.99.8+J0.6.7では読み込んでやらないと、
気味の悪い初期設定が有効になるため読み込んでいた
が、実は中ではたいした設定をしていないので、
適当に色づけと emacs キーバインドなところだけ設定してやる
- evalfile("~/hoge.sl") ができない問題の回避方法は
- Debianの0.99.18だけなら path_concat(Jed_Home_Directory,"hoge.sl") でよい
- expand_filenameでごまかせる(ちなみにDebianで読まれてなくても困らない設定
リンク