F4を変えてみた。
前書いた奴のオカシナ動きを多少直して。
■具体的に何をするか。
- F4を押した時にタグジャンプをする。
- F4を押した時に、カーソル付近にローカルのパスがあれば、xyzzyのファイラでそのパスを開く
;iniモードのF4でdirectoryへジャンプ(したい) ;分かり良さそうに変えておいた。v0.03 (defun goto-directory() (interactive) (let (tmp dir) (save-excursion ;パスらしきものか行頭が出てくるまで後ろに移動して (while (not (looking-at "[CcDd]:[/\\]\\|^.")) (backward-char)) ;パスらしき所を取り出す。 (setq dir (buffer-substring (match-beginning 0)(match-end 0))) (goto-char (match-end 0)) ; ex C:/の後ろに移動。 (if (file-exist-p dir);一応取り出したのが存在するか確認して (while (looking-at "[^\t:\*\?\"<>|\\/]*[/\\]") ;サブディレクトリらしき所をtmpへ入れる (setq tmp (buffer-substring (match-beginning 0)(match-end 0))) (setq tmp (concat dir tmp)) ; subdirectoryらしきものとくっ付ける (if (and (sub-directory-p tmp dir) (file-exist-p tmp)) ; tmpがまともなディレクトリかcheck (setq dir tmp) ; よさそうならばdirに入れてしまう。 (return)) ; ディレクトリじゃないなら抜ける。 (goto-char (match-end 0)))) ; 次のdirectoryの記述に移動 (message "direct ~A tmp ~A" dir tmp) (cond ((file-exist-p dir) (open-filer) ; ファイラを開く (filer-chdir dir)) (t (plain-error "ない" ))) ))) ; 画面を移動。
それとタグジャンプとURIを開くclickable-uriを適当に組み合わせてみた。
(defun my-jump() (interactive) (unless (jump-tag) (unless (clickable-uri-open) (goto-directory))))
こんな感じならiniモードとかのキー設定を気にしなくていいんじゃないかと。思ってみた。けど、試してすら居ないので、妙な事になるかもしれない。