Emacs Helmのパス自動補完がじゃまなので無効化した

helm navi

いままでパス入力のたびに感じていたストレスの開放感Maxです!

DiredやFindFileなどを使うとき、ミニバッファでパスを2文字ほど入力すると自動でそれに当てはまるフォルダ名を補完してくれる機能なんですけど、私にはそれがどうもしっくりきませんでした。

自動補完にもラグがあるのでHelmに代えてから数ヶ月ずっと打ち間違えたりして悩んでいました。

つまり、脳内である程度パスを記憶してるので任意のタイミングでTabを押して補完するようにしたかったのです。

当時は解決できませんでしたが、試行錯誤で自己解決したので書き残しておきます。


;; 自動補完を無効
(custom-set-variables '(helm-ff-auto-update-initial-value nil))
;; C-hでバックスペースと同じように文字を削除  
(define-key helm-c-read-file-map (kbd "C-h") 'delete-backward-char)
;; TABで任意補完。選択肢が出てきたらC-nやC-pで上下移動してから決定することも可能
(define-key helm-c-read-file-map (kbd "TAB") 'helm-execute-persistent-action)

Helm wiki-navigationを見ても分かるように、C-l(or右矢印)で一つ上のパスに書き換え、C-z(or左矢印)で今回追加したTabと同じ設定がデフォルトです。

最近できたEmacsJPのissueで質問すると詳しい方々が色々教えてくれますよ。