hns - 日記自動生成システム - Version 2.19.9

先月 2005年11月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2005年11月24日(木) 旧暦 [n年日記] [更新:"2005/11/25 12:27:04"]

#1 [Emacs] 森島さんの elscreen と elscreen-gf

いままでは (knok さんに教わった) id-utils を操作行で使っていたが Emacs から利用出来るという話なので、 から次の二つを貰って来る (それ以前に Emacs は 22.0.50, APELは 10.6)
elscreen-1.4.1.tar.gz
elscreen-gf-1.4.0.tar.gz
tar で開けてから次のようにしてそれぞれをバイトコンパイル
emacs -batch -f batch-byte-compile elscreen.el
emacs -batch -f batch-byte-compile read-directory-name.el
emacs -batch -f batch-byte-compile elscreen-gf.el
これら (*.el, *.elc ) を /usr/local/share/emacs の下の site-lisp/a-files に入れておく。 id-utils は 別途入れて おく elscreen-gf-1.4.0/QuickStart に書いてあるように試してみる。 C-z と入力した途端に、窓がアイコン化されてしまうので、 elscreen-prefix-key を C-c C-z にして試して見る。つまり ~/.emacs に
(require 'elscreen)
(require 'elscreen-gf)

(defcustom elscreen-prefix-key "\C-c\C-z"
  "*Command prefix for ElScreen commands."
  :type '(string :size 10)
  :tag "Prefix-key"
  :set (lambda (symbol value)
         (when (boundp 'elscreen-map)
           (elscreen-set-prefix-key value))
         (custom-set-default symbol value))
  :group 'elscreen)
と書いておく
  • C-c C-z C-g m で mkid を実行する (M-x elscreen-gf-execute-mkid) が、その時に、ディレクトリを聞いて来る
  • ソースの一番上ではなかったので、(そのままでもいいけれど、一応) 一番上を指定する
  • ソースの一つを開いて、探したい関数の上にカーサを持っていって
  • C-c C-z C-g g RET (M-x elscreen-gf-execute-gid)
  • 開いた検索結果の窓で o をすると、該当ファイルの該当位置を表示

C-c C-z C-g g RET したところ:


検索文字として size_seg を指定してそれに該当する行が 3 行見つかった

上の画面の三行目を o で開いたところ:


画面の上の方に TAB があって、それを選ぶと、画面が切替えられる。

うーん、これは便利。それと、実は gid を使ったことがなくて、今までは、 いつも grep `lid hogehoge` していた。 簡単に調べたことを まとめておく

もう一度:

ttyp9:makoto@st4200 7:45:05/051124(/export/local-src)> tar zxf /e/u/j/distfiles/binutils-2.16.1.tar.bz2
ttyp9:makoto@st4200 7:56:32/051124(/export/local-src)> cd binutils-2.16.1/
ttyp9:makoto@st4200 7:56:38/051124(...local-src/binutils-2.16.1)> mkid
ttyp9:makoto@st4200 7:56:43/051124(...local-src/binutils-2.16.1)>
mkid が 5 秒で終わるというのは ? 変 ? (上の画面は、実はこの後で撮った)

elscreen の操作:

elscreen の方の操作は上の ElScreen というメニューにも出ているので、 覚えるまでは、それを見ればいいが screen と同じようなもの
C-c C-zccreate新規画面
C-c C-zkkill画面を終了
C-c C-zKkill other他の画面を終了
C-c C-znnext次の画面
C-c C-zpprevious前の画面
C-c C-zatoggle切替

時々正しくないところに ?:

ElScreen-GF の画面で o をした時に、file は正しく選択するが行が正しい ところに飛ばないことがある気がする。何だろう。 次のように、行頭から文字列が書いてある時かな
dwarf2dbg.c:680:size_inc_line_addr (int line_delta, addressT addr_delta)
o は elscreen-gf-mode-jump-to-entry に割当てられている。

やはり行頭をうまく見つけていないやうだ。 elscreen-gf.el の 281 行目を次のように変更すると、問題が直る気がする。

--- elscreen-gf.el~	2005-11-24 23:12:09.000000000 +0900
+++ elscreen-gf.el	2005-11-25 12:22:54.000000000 +0900
@@ -278,7 +278,7 @@
       (elscreen-find-file filename)
       (goto-line line)
       (re-search-forward
-       (format "[^a-zA-Z0-9_]\\(%s\\)[^a-zA-Z0-9_]" pattern)
+      (format "\\b\\(%s\\)\\b" pattern)
        (line-end-position) t)
       (goto-char (match-beginning 1))
       (elscreen-gf-move-overlay-create

1.4.1 に
検索パターンが行の先頭から始まっている場合、 jump後にエラーになる不具合を修正しました。
(11/24) と書いてある

C-z が使えない件:

emacs -q -l ~/.emacs-elscreen-gf すると、C-z が説明のように使える。 何かなぁ。~/.emacs-elscreen-gf の内容:
(require 'elscreen)
(require 'elscreen-gf)



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)