[includeme file=”inc-package-table.php” name=”helm” where=”melpa”]
helm版read-file-nameを標準のEmacsのものに戻す設定です。
helmは僕がメンテナンスしているanythingの後継 といえるすごい便利なパッケージですが、 いささかおせっかいな感が否めません。
helmは部分集合から特定のオブジェクトを取り出すのには とてもすばらしいインターフェースなのですが、 helm版ファイル名選択(Fig1)がすごい使いづらいと思います。
超高速SSDを積んでいるi7機でさえファイル名選択が出るのがもたつくことがある上、 TABでファイル名補完ができないとか、俺に言わせれば ありえないです。
既存ファイルを開く場合は多少便利かもしれないですが、 新規ファイルを開くときは余計なお世話に他ならないです。
既存ファイルは必殺 anything-filelist があるので十分!
しかもhelm版completing-readを使うとあろうことか 勝手にhelm-modeが有効になって クッソ重いファイル選択を強要される始末!
コイツだけ無効にしたくてもなかなか困難で、 adviceでhelm-modeをコントロールして helm-modeの一部をコピペすることで回避…
なんてこったい! [includeme file=”inc-package-install.php” name=”helm” where=”melpa”]
helm版read-file-nameを標準のEmacsのものに戻す設定です。
helmは僕がメンテナンスしているanythingの後継 といえるすごい便利なパッケージですが、 いささかおせっかいな感が否めません。
helmは部分集合から特定のオブジェクトを取り出すのには とてもすばらしいインターフェースなのですが、 helm版ファイル名選択(Fig1)がすごい使いづらいと思います。
超高速SSDを積んでいるi7機でさえファイル名選択が出るのがもたつくことがある上、 TABでファイル名補完ができないとか、俺に言わせれば ありえないです。
既存ファイルを開く場合は多少便利かもしれないですが、 新規ファイルを開くときは余計なお世話に他ならないです。
既存ファイルは必殺 anything-filelist があるので十分!
しかもhelm版completing-readを使うとあろうことか 勝手にhelm-modeが有効になって クッソ重いファイル選択を強要される始末!
コイツだけ無効にしたくてもなかなか困難で、 adviceでhelm-modeをコントロールして helm-modeの一部をコピペすることで回避…
なんてこったい!
(require 'helm)
(require 'helm-mode)
(defadvice helm-mode (around avoid-read-file-name activate)
(let ((read-file-name-function read-file-name-function)
(completing-read-function completing-read-function))
ad-do-it))
(setq completing-read-function 'my-helm-completing-read-default)
(defun my-helm-completing-read-default (&rest _)
(apply (cond ;; [2014-08-11 Mon]helm版のread-file-nameは重いからいらない
((eq (nth 1 _) 'read-file-name-internal)
'completing-read-default)
(t
'helm--completing-read-default))
_))
$ wget http://rubikitch.com/f/140811024627.helm.avoid-find-files.el $ emacs -Q -f package-initialize -l 140811024627.helm.avoid-find-files.el
http://rubikitch.com/f/20140811025824.png Fig1: helm-mode有効時にC-x C-fを押したときに現れる犯人! [includeme file=”inc-package-relate.php” name=”helm”]