⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 namazu.el

📁 namazu. 虽然是日语的,也适用于文件中单词索引后全文检索.
💻 EL
📖 第 1 页 / 共 3 页
字号:
;; -*- Mode: Emacs-Lisp -*-;;;; Mule $B>e$G(B Namazu $B$rMxMQ$7$?8!:w$r9T$&$?$a$N(B elisp $B$G$9!#(B;;;;  $Id: namazu.el,v 1.13 2000/02/24 06:48:33 kose Exp $(defconst namazu-version "namazu.el 1.0.3");; Namazu $B$K$h$k8!:w7k2L$,;X$9%I%-%e%a%s%H(B($BN`(B)$B$,(B;; $B%m!<%+%k%G%#%9%/>e$K$"$k>l9g$K$O$=$l$rD>@\;2>H$7!"(B;; $B%M%C%H%o!<%/>e$K$"$k>l9g$K$O(B brouse-url $B$N5!G=$rMQ$$$F(B;; $B$=$l$r;2>H$9$k$3$H$,$G$-$^$9!#(B;;;; $B%m!<%+%k%G%#%9%/>e$N%I%-%e%a%s%H(B($BN`(B)$B$,05=L$7$F$"$k>l9g!"(B;; jka-compr $B$N5!G=$rMQ$$$F$=$l$rE83+$7$h$&$H$7$^$9!#(B;;;; Namazu $B%b!<%I$G$O%m!<%+%k%G%#%9%/$K$J$$%U%!%$%k$X$N(B;; $B%"%/%;%9$K$D$$$F$O(B brouse-url $B$K0lG$$7$F$$$^$9!#(B;; $B$=$&$$$C$?$o$1$G$9$N$G(B browse-url-browser-function $B$K(B;; $BE,@Z$J@_Dj$r$7$F$*$+$J$$$H!"30It$K$"$k%j%=!<%9$r(B;; $B;2>H$9$k$3$H$O$G$-$^$;$s!#$?$H$($P$3$s$J@_Dj$r$7$^$9(B:;;;;  (autoload 'namazu "namazu" nil t);;  (setq browse-url-browser-function 'browse-url-netscape);;;; font-lock $B$d(B hilit19 $B$,%m!<%I$7$F$"$l$P(B;; $B8!:w7k2L$O(B($B$$$/$i$+(B)$B2Z$d$+$KI=<($5$l$k$G$7$g$&!#(B;;;; $BMQ0U$9$kI,MW$,$"$k$+$bCN$l$J$$$b$N(B:;; $BA0=R$NDL$j(B browse-url $B$,I,MW$G$9$,!"(B19.28 $B%Y!<%9$N(B Mule $B$K$O(B;; $B$3$l$,4^$^$l$F$$$J$$$h$&$G$9!#F1:-$N(B "browse-url-for-emacs-19.28.el";; $B$r$*;H$$2<$5$$!#(B;;;; $B8!:wJ}K!(B:;; $B>e5-$N@_Dj$r=*$($?$i(B M-x namazu $B$H%?%$%W$7$F$/$@$5$$!#(B;; $B$9$k$H8!:w$N%-!<(B($B>r7o<0(B)$B$rJ9$$$F$-$^$9$N$G(B namazu $B$H$+(B;; ruby & perl $B$H$$$C$?8!:w%-!<$rF~NO$7$^$9!#(B;; $BF~NO$r=*$($k$H(B Namazu $B$,5/F0$5$l!"(B;; $B8!:w7k2L$rI=<($9$k%P%C%U%!$,:n$i$l$^$9!#(B;; $B$3$N%P%C%U%!Fb$G$O0J2<$N%-!<A`:n$,Dj5A$5$l$F$$$^$9!#(B;;;;             $BA0%Z!<%8(B    $BA09`(B     $B<!9`(B    $B<!%Z!<%8(B;;   $BI8=`(B(1)      P         p        n         N;;   $BI8=`(B(2)              [BkSp]  [Space];;   $BI8=`(B(3)              M-[Tab]  [Tab];;   vi $BIw(B        h         k        j         l;;   $B%+!<%=%k(B   [left]     [up]    [down]   [right];;;;   $B%Z!<%8$N@hF,$X(B        <;;   $B%Z!<%8$NKvHx$X(B        >;;   $B%I%-%e%a%s%H$N;2>H(B    g $B$^$?$O(B [Enter];;   $B>r7o$rDI2C$7$F:F8!:w(B  r;;   $B8!:w7k2L$N>C5n(B        q;;   namazu $B=*N;(B           Q;;   $B%X%k%WI=<((B            ?;;;; $B$^$?!"(Bmouse $B$N$^$s$J$+$N%\%?%s$r2!$9$H!"2!$7$?0LCV$K$h$C$F!"(B;; "$B%I%-%e%a%s%H$N;2>H(B"$B!"(B"$BA0%Z!<%8(B"$B!"(B "$B<!%Z!<%8(B" $B$N$I$l$+$NF0:n$r9T$J(B;; $B$$$^$9!#(B;;;; $B%G%U%)%k%H0J30$N%$%s%G%C%/%9(B(NMZ.*)$B$r;HMQ$7$?$$>l9g$O!"(B;; C-u M-x namazu $B$H%?%$%W$9$k$3$H$G%$%s%G%C%/%9$NCV$$$F$"$k%G%#%l%/%H(B;; $B%j$r;XDj$9$k$3$H$b=PMh$^$9!#$^$?!"8D!9$N%G%#%l%/%H%j$KBP$7$FJLL>$r(B;; $BDj5A$9$k$3$H$b2DG=$G$9!#@_DjNc$J$I>\$7$$$3$H$O(B namazu-dir-alist $B$N(B;; $B@bL@$r;2>H$7$F$/$@$5$$(B :-P$B!#(B;;;; $B:G?7HG$NF~<j$K$D$$$F(B:;; namazu.el $B$N:G?7HG$O(B namazu $B$KIUB0$9$k$b$N$d!"(Bnamazu ML $B$J$I$G(B;; $BF~<j2DG=$G$9(B.;;;; $BG[I[>r7o$J$I(B:;; $B$3$l$O(B $B$^$D$b$H(B $B$f$-$R$m(B <matz@netlab.co.jp> $B$5$s$,:n@.$7!"(B;; $BF1;a$H(B $BGO>l(B $BH%(B <baba@kusastro.kyoto-u.ac.jp> $B$5$s!"(B;; $B9bNS(B $BE/(B <ccsatoru@vega.aichi-u.ac.jp> $B$5$s!"(B;; Toshiaki Tanaka <toshiaki@ksj1.kansai-sc.toshiba.co.jp>$B$5$s!"(B;; $B1|@>(B $BF#OB(B <fuji0924@mbox.kyoto-inet.or.jp> $B$5$s$N$46(NO$N2<$G(B;; $B$d$^$@(B $B$"$-$i(B <akira@linux.or.jp> $B$5$s$,2~B$$r2C$($?$b$N$r!"(B;; $BEZ20(B $B2mL-(B <tsuchiya@pine.kuee.kyoto-u.ac.jp> $B$5$s!"(B;; $BKY8}63B@O:(B <kyota@po.ntts.co.jp> $B$5$sC#$N<8S#7cNe$K$h$j(B;; Namazu Project $B$,2~B$$7$F$$$k$b$N$G$9!#(B;; $B$$$+$J$k7A$G$NMxMQ!&:FG[I[$K$D$$$F$b8"Mx$NN`$O0l@Z<gD%$7$^$;$s!#(B;; $B<+M3$K07$C$F$b$i$C$F9=$$$^$;$s!#(B;;;; $B$*LsB+(B:;; $B$3$l$O2?$i$+$NJ]>Z$rH<$&$b$N$G$O$"$j$^$;$s!#(B;; $BDs6!$5$l$k5!G=$r;H$C$?7k2L!"MxMQ<T$,D>@\E*$"$k$$$O4V@\E*$K(B;; $BB;32$rHo$C$?$H$7$F$b!"$=$l$O:n<TC#$N4XCN$9$k$H$3$m$G$O$"$j$^$;$s!#(B;; $B$"$/$^$G(B at your own risk $B$G$4MxMQ2<$5$$!#(B;;;; CUSTOM emulation derived from BBDB and APEL.(eval-and-compile  (condition-case ()      (require 'custom)    (error nil))  (if (and (featurep 'custom) (fboundp 'custom-declare-variable))      nil ;; We've got what we needed    ;; We have the old custom-library, hack around it!    (defmacro defgroup (&rest args)      nil)    (defmacro defcustom (var value doc &rest args)       (` (defvar (, var) (, value) (, doc))))    (defmacro defface (var value doc &rest args)      (` (make-face (, var))))    (defmacro define-widget (&rest args)      nil)))(defgroup namazu nil  "Namazu front-end for Emacs."  :group 'external)(defcustom namazu-command "namazu"  "*Namazu $B$N8!:wMQ%W%m%0%i%`L>$G$9!#(B$BDL>o$O(B namazu $B$J$I$G$7$g$&$,!"$=$&$G$O$J$$>l9g$d(BPATH $B$,DL$C$F$$$J$$>l9g$K$OE,Ev$J%W%m%0%i%`L>$r;XDj$7$^$9!#(B"  :type 'string  :group 'namazu)(defcustom namazu-search-num 30  "*Namazu $B$N8!:w7k2L$r0lEY$KI=<($9$k7o?t$G$9!#(B"  :type 'integer  :group 'namazu)(defcustom namazu-default-dir nil  "*Namazu $B$,;2>H$9$k%$%s%G%C%/%9$NCV$$$F$"$k%G%#%l%/%H%jL>$G$9!#(B$BFC$K;XDj$7$J$1$l$P%G%U%)%k%H$N%$%s%G%C%/%9$r;2>H$7$^$9!#(B$BJ#?t$N%$%s%G%C%/%9$r;XDj$9$k>l9g$K$O$=$l$>$l$r6uGr$G6h@Z$C$F$/$@$5$$!#(B"  :type '(choice	  (item :tag "Auto" :value nil)	  (directory :tag "Default Index"))  :group 'namazu)(defcustom namazu-dir-alist nil  "*$B%$%s%G%C%/%9$,CV$$$F$"$k%G%#%l%/%H%j$K(B$B%7%s%\%j%C%/$JL>A0$r$D$1$k$?$a$N(B alist $B$G$9!#(B  '((\"Namazu\" . \"/usr/doc/namazu/index /var/lib/namazu/index\")    (\"Ruby\" . \"/usr/doc/ruby/namazu\"))$B$J$I$N$h$&$K@_Dj$7$F$*$/$H!"8D!9$N%$%s%G%C%/%9%U%!%$%k$N$"$k(B$B%G%#%l%/%H%jL>$r;XDj$9$kBe$o$j$K(B Namazu $B$d(B Ruby $B$H$$$C$?(B$B$$$o$PJLL>$r;XDj$9$k$3$H$,$G$-$^$9!#(B$BJ#?t$N%$%s%G%C%/%9$r;XDj$9$k>l9g$K$O$=$l$>$l$r6uGr$G6h@Z$C$F$/$@$5$$!#(B"  :type '(repeat (cons :format "%v"		       (string :tag "Alias")		       (string :tag "Index path")))  :group 'namazu)(defcustom namazu-always-query-index-directory nil  "*nil $B0J30$NCM$r@_Dj$9$k$H!"?tCM0z?t$,$J$$$H$-$K(B$B%$%s%G%C%/%9%U%!%$%k$r;XDj$G$-!"?tCM0z?t$,$"$k$H$-$K(B$B%G%U%)%k%H$N%$%s%G%C%/%9$r;2>H$9$k$h$&$K$J$j$^$9!#(B$B>o$K%$%s%G%C%/%9%U%!%$%k$r;XDj$7$F8!:w$r9T$$$?$$(B$B>l9g$J$I$KJXMx$+$b$7$l$^$;$s!#(B"  :type 'boolean  :group 'namazu)(defcustom namazu-auto-turn-page nil  "*nil $B0J30$NCM$r@_Dj$9$k$H!"<+F0E*$K%Z!<%8$a$/$j$r$7$^$9!#(B"  :type 'boolean  :group 'namazu)(defcustom namazu-mode-hook nil  "*Namazu $B%b!<%I$r:n@.$9$k%?%$%_%s%0$G8F$P$l$k(B hook $B$G$9!#(B"  :type 'hook  :group 'namazu)(defcustom namazu-display-hook nil  "*Namazu $B$N=PNO$rI=<($9$k$H$-$K8F$P$l$k(B hook $B$G$9!#(B"  :type 'hook  :group 'namazu)(defcustom namazu-url-regex "^\\(https?://\\|ftp://\\)"  "*URL $B$H8+$J$9%U%!%$%kL>$N%Q%?!<%s$r@_Dj$7$^$9!#(B"  :type 'regexp  :group 'namazu)(defcustom namazu-view-function-alist  '(("[^/]+\\.s?html?" . namazu-browse-url)    ("/Mail\\|News/.*/[1-9][0-9]*$" . namazu-view-msg)    ("man/man" . namazu-man)    ;; ("/usr/local/info/\\|\\.info" . namazu-info) ;; $BL$:n@.(B    ("." . namazu-view-file))  "*$B%U%!%$%kL>$N%Q%?!<%s$H$=$l$KBP1~$9$k1\Mw4X?t$r@_Dj$7$^$9!#(B"      :type '(repeat (cons :format "%v"			   (regexp :tag "Filename Regexp")			   (symbol :tag "Function Name")))      :group 'namazu)(defcustom namazu-view-other-window nil  "*If non-nil, make an other window when namazu-view."  :type 'boolean  :group 'namazu)(defcustom namazu-view-other-frame nil  "*If non-nil, make an other frame when namazu-view."  :type 'boolean  :group 'namazu)(defcustom namazu-msg-visible-field (list "subject" "from" "to" "newsgroups" "date")  "*Visible header list for namazu-view-msg."  :type '(repeat (string :tag "Header"))  :group 'namazu)(defcustom namazu-msg-highlight-function nil  "*A function, view-msg highlight method.e.g.  namazu-msg-highlight-mew -- use Mew functions(require Mew 1.94 or later)."  :type '(radio (function-item :tag "use Mew functions"			       :format "%t\n"			       namazu-msg-highlight-mew)		(function :tag "Other"))  :group 'namazu)(defvar namazu-cs-write  (if (memq system-type '(OS/2 emx windows-nt))      (if (> emacs-major-version 19) 'sjis-dos '*sjis*dos)    (if (> emacs-major-version 19) 'euc-jp '*euc-japan*))  "*Coding system for namazu process (output).")(defvar namazu-cs-read  (if (> emacs-major-version 19) 'undecided '*autoconv*)  "*Coding system for namazu process (input).")(defvar namazu-config-file-path  (list (getenv "NAMAZUCONFPATH")	(getenv "NAMAZUCONF")		; obsolete?	"./.namazurc"	"~/.namazurc"	"/usr/local/etc/namazu/namazurc"	"/usr/local/namazu/lib/namazurc") ;obsolete?  "*Search path for a Namazu configuration file.")(defvar namazu-argument "-H"  "*Namazu $B$N8!:wMQ%W%m%0%i%`$r5/F0$9$k:]$K;XDj$9$k0z?t$G$9!#(B");;;; $B$3$3$+$i@h$r$$$8$C$F!"AGE($K$J$C$?$i65$($F$/$@$5$$$M!#(B;;(defvar namazu-fill-prefix "\t")(defvar namazu-header-prefix "   ")(defvar namazu-index-history '(""))(defvar namazu-keyword-history '(""))(defvar namazu-mode-map nil)(defvar namazu-minibuffer-map nil)(defvar namazu-minibuffer-field-map nil)(defvar namazu-buffer "*namazu*")(defvar namazu-last-dir nil  "$B8=:_$N8!:w$G;2>H$7$F$$$k%$%s%G%C%/%9$N:_=h(B")(defvar namazu-current-page 0  "$B1\MwCf$N8!:w7k2L$N%Z!<%8HV9f(B")(defvar namazu-max-page 0  "$B8=:_$N8!:w7k2L$N:GBg%Z!<%8HV9f(B")(defvar namazu-output-title-pattern  "^\\([0-9]+\\.\\) \\(.*\\) \\(([^)]*)\\)$"  "$B8!:w7k2L$NCf$N%I%-%e%a%s%H$N%?%$%H%k$r<($99T$N%Q%?!<%s(B")(defvar namazu-output-header-pattern  (format "^%s\\([^:]+:.*\\)$" namazu-header-prefix)  "$B8!:w7k2L$NCf$N(B From$B!"(BDate $B%X%C%@$r<($9%Q%?!<%s(B")(defvar namazu-output-url-pattern  "^\\(\\(~?/\\|[a-z]+:\\)[^ ]+\\) \\(.*\\)$"  "$B8!:w7k2L$NCf$N%I%-%e%a%s%H$N:_=h(B(URL)$B$r<($99T$N%Q%?!<%s(B")(defvar namazu-output-current-list-pattern  "^[^:]+: [0-9]+ - [0-9]+$"  "$B8!:w7k2L$NCf$N$I$NItJ,$r1\MwCf$+$r<($99T$N%Q%?!<%s(B")(defvar namazu-output-pages-pattern  "^[^:]+: \\(\\[[0-9]+\\]\\)*\\[\\([0-9]+\\)\\]$"  "$B8!:w7k2L$N%Z!<%8?t$r<($99T$N%Q%?!<%s(B")(defvar namazu-view-vismark nil)(and (locate-library "browse-url") (require 'browse-url))(and (locate-library "jka-compr") (require 'jka-compr))(provide 'namazu)(defun namazu (&optional page-num namazu-dir key)  "namazu-command $B$r5/F0$7$F8!:w$r9T$$$^$9!#(B"  (interactive   (list    0    (if (or (and (not namazu-always-query-index-directory) current-prefix-arg)	    (and namazu-always-query-index-directory (not current-prefix-arg)))	(read-from-minibuffer "Namazu index directory: " nil			      namazu-minibuffer-map nil 'namazu-index-history)      nil)    (read-from-minibuffer "Enter Keyword: " nil			  namazu-minibuffer-field-map nil 'namazu-keyword-history)))  (let ((buffer (get-buffer-create namazu-buffer))	(dir (or namazu-dir		 (progn		   (or namazu-default-dir		       (setq namazu-default-dir (namazu-get-default-index-dir)))		   (expand-file-name namazu-default-dir))))	(arg-list (if (listp namazu-argument)		      namazu-argument (list namazu-argument))))    (setq arg-list (append		    arg-list		    (list "-n" (int-to-string namazu-search-num)			  "-w" (int-to-string (* page-num namazu-search-num))			  key)))    (if (and dir (not (string= dir "")) (string-match "[^ \t]" dir))	(setq arg-list (append arg-list			       (namazu-split-dir (namazu-expand-dir-alias dir)))))    (set-buffer buffer)    (setq buffer-read-only nil)    (buffer-disable-undo (current-buffer))    (erase-buffer)    (message "Namazu running ...")    (let ((default-process-coding-system (cons namazu-cs-read namazu-cs-write))	  (process-input-coding-system namazu-cs-read)	  (process-output-coding-system namazu-cs-write)	  (coding-system-for-read namazu-cs-read)	  (coding-system-for-write namazu-cs-write))      (apply (function call-process) namazu-command nil t nil arg-list))    (if (not (and buffer		  (get-buffer buffer)		  (buffer-name (get-buffer buffer))))	(message "Namazu exits with no output")      (pop-to-buffer buffer)      (goto-char (point-min))      (save-excursion	(namazu-fill)	(if (re-search-forward namazu-output-pages-pattern nil t)	    (setq namazu-max-page		  (+ -1 (string-to-int (buffer-substring					(match-beginning 2) (match-end 2)))))	  (setq namazu-max-page 0)))      ;(goto-char (point-min))      (setq namazu-current-page page-num)      (setq namazu-last-dir dir)      (namazu-mode)      (setq buffer-read-only t)      (run-hooks 'namazu-display-hook)      (message "Namazu running ... done.") )))(defun namazu-fill ()  "namazu-command $B$G$N8!:w7k2L$r@07A$7$^$9!#(B"  (while (re-search-forward "^[0-9]+\. " nil t)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -