2015-04-21

Ubuntu 設定命令列成 VI 操作模式

阿舍偶爾會不小心在終端機畫面或命令列上按下 vi 的操作鍵,通常這種時候,阿舍就會想說,好像在命令列上可以用 vi 的操作鍵或快捷鍵來操作也是件不錯的事,然後,就會想去找看看怎麼設定,不過,想想,又覺得好像沒有那麼的必要,反正現在都用習慣預設的了,所以,阿舍就遲遲沒去研究怎麼把命令列的操作鍵換成為 vi 的哩! 不過,阿舍最近因為使用 vi 的時間增加了,就愈想來試試在命令列用 vi 操作鍵的效果哩 ! ...



阿舍本來是查到這一篇的作法,要在 ~/.inputrc 檔案裡加二行設定,不過,後來阿舍發現更簡單的方式,就是直接用 set 指令加上 -o 選項就可以選擇要使用那一種鍵盤模式了,下面第一行就是把操作方式設定成 vi 的模式,而第二行則是回復成預設的 emacs 模式,兩者可以即時切換,馬上生效,不需要登出再登入哩 !

$ set -o vi

$ set -o emacs

在 vi 的操作模式下,和一般進入 vi 編輯器的預設模式是不同的,命令列預設的是 Insert 模式,也就是可以編輯的模式,要按下 ESC 鍵之後才會是 Command 模式 (或稱為 Normal 模式),才能使用 vi 的各種操作鍵來編輯指令指串哩 ! 否則就是單純的輸入功能而已 ...

不是所有的 vi 操作鍵都可以用在命令列 ...( Credit viemu.com )
在命令列的 vi 操作模式上,有二個用法讓阿舍覺得滿實用的,一個就是在 Command 模式下直接 v 字母鍵就可以進入預設的編輯器來編輯指令串,然後,在離開編輯器的時候,就會自動執行編輯後的指令串,效果有點像阿舍之前介紹過的 fc 指令哩 ! 另外,也可以將預設的編輯器改成 vi,就可以全部串成用 vi 操作了哩 !

另一個阿舍覺得不錯用的是搜尋功能,在 Command 模式下直接輸 / 字母和要搜尋的字串,就可以直接搜尋歷史指令,如果有符合的歷史指令,就會直接出現,這樣,就不用再輸入 history 和 grep 指令來搜尋囉 ! 雖然,這個功能和 Ctrl+r 快捷鍵類同,不過,在輸入上會比較快哩 !

阿舍剛開始在命令列用 vi 模式的時候,還覺得卡卡的,不是很順,不過,愈用就愈覺得有趣和方便,如果你已經熟悉 vi 的操作的話,阿舍很建議你可以改成 vi 模式來操作看看哩 ! ....

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁