jed

Top / jed

拡張子によるモード指定

.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で読まれてなくても困らない設定

リンク


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-01-18 (水) 23:58:49 (4295d)