«前の日記(2009-08-22) 最新 次の日記(2009-08-28)» 編集

ソフトウェアと本の覚え書き

2005|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|

2009-08-26 [長年日記]

_ [Emacs] anything-quit-and-find-fileの改良

anythingを実行してC-x C-fとするとanything-quit-and-find-fileが実行される。このときに、選択されていた候補がファイルであればそのディレクトリからfind-fileを実行するように改良した。

(defun anything-quit-and-find-file ()
  "Drop into `find-file' from `anything' like `iswitchb-find-file'.
This command is a simple example of `anything-run-after-quit'."
  (interactive)
  (let ((filename (expand-file-name (anything-get-selection))))
    (if (not (file-exists-p filename)) (setq filename nil))
    (anything-run-after-quit '(lambda (f)
                                (if f 
                                    (let ((default-directory (file-name-directory f)))
                                      (call-interactively 'find-file))
                                  (call-interactively 'find-file))) filename)))