如果你正在使用 helm 或 ido 的話就不用往下看了,這篇是給喜歡使用內建 find-file 的人看的。
我一直無法忍受 helm 和 ido-mode 的 find-file 設計,但又覺得他們有部份功能實在很方便,例如能夠按 DEL 直接刪回上個目錄的路徑,或者快速清空整個路徑再重新輸入等。這裡做了幾個符合自己需要的功能:
- 如果 minibuffer 中是個目錄的樣式,按
M-[DEL]
就可以往前刪到 parent dir - 按一次
C-a
只是一般的beginning-of-line
,但按第二次C-a
的話:
a. 如果是個路徑,會把~/或/以後的東西刪掉。
b. 如果不是路徑,則整行刪掉。 - 以上行為都不會把刪過的東西存到 kill-ring,所以可以放心用力刪,而不用擔心會影響到目前的 kill-ring~ (這是對我來說最重要的一點,因為我很討厭每次在 minibuffer
M-[DEL]
都會蓋過我的剪貼簿,而且 kill-ring 也會多一條沒用的檔案路徑)
1 | (defun minibuffer-beginning-of-line () |