2013-05-01

Ubuntu 設定像 Dos Key 的自動完成功能

在 Dos 的年代,有一支很好用的小程式,就叫做「DosKey」,它個功用除了能用上、下鍵來尋找之前輸入過的指令之外,最讓阿舍覺的好用和方便的,就是阿舍可以把指令打一半,然後,再用上、下鍵就可以很快的搜尋到阿舍想要找的另一半打過的指令哩 ! 後來,阿舍改用 Ubuntu 後,雖然,可以用上、下鍵來尋找已經打過的指令,但是,就是沒有可以自動找出另一半指令的功能,這讓阿舍一直覺得有些些的遺憾哩 !

這是用 Bash 模擬出的 MS DOS 畫面,不過,和本文無關 ^^!!
( Credit The Ubuntu Incident )

今天,阿舍不小心就看到有一篇小小的文章提到,只要簡單的設定一下,就可以讓 Ubuntu 的 Terminal 能夠像 DosKey 一樣,可搜尋和自動完成未輸入的指令哩 ! 於是,阿舍就趕快的來試了一下,結果 ... 真的是可以哩 ! 只要在你的家目錄下,建立一個名為 .inputrc 的檔案(~/.inputrc),接著,再把下面這四行放到 .inputrc 檔案並存檔,然後,關掉 Terminal 後再重新開個 Terminal,這樣,就可以用上、下鍵來自動完成歷史指令了哩 ! ^^=

"\e[A": history-search-backward

"\e[B": history-search-forward

set show-all-if-ambiguous on

set completion-ignore-case on

後來,阿舍有去查了一下這個 ~/.inputrc 檔案的用途才知道,在 Bash Shell 上,每位使用者都可以在自家的家目錄下建立 .inputrc 檔案來改變鍵盤上的某幾個功能鍵的用途和行為哩 ! 而除了家目錄下的 .inputrc 檔案之外,在 /etc 資料夾下也有個叫做 inputrc 的檔案 (/etc/inputrc),和家目錄下的 .inputrc 檔案不同的是,/etc/inputrc 檔案是全域性的,也就是說,是適用所有使用者的,而且,會有一些預設值,而 ~/.inputrc 檔案只適用自己,而且,通常是不存在,要自己建立的,還有 ~/.inputrc 檔案的檔名前面要有小數點,而 /etc/inputrc 檔案則是不用的哩 ! 呵 !

另外,如果你對 ~/.inputrc 檔案的設定方式有興趣的話,請參考這篇這篇的說明來試試看囉  ! ...

參考資料


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



2 則留言 :

Ted Shiu 提到...

我是覺得直接用 zsh 就好了,再搭配 oh-my-zsh 簡直無敵

ayubiz 提到...

Hello,


是喔 ! 阿舍有空再來試試哩 ! 謝謝囉 ! ^^= ...


Arthur ...

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !