歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux命令行模式如何設置鍵盤快捷鍵

Linux命令行模式如何設置鍵盤快捷鍵

日期:2017/2/28 14:35:48   编辑:Linux教程

Linux的一個特色就是其命令多而且功能強大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進行>命令補足,或者使用aliase來簡化某個命令的輸入,但這並不能從根本上解決敲擊鍵盤次數過多的問題。

可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],
Ctrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上“參數”,這樣你按下那個鍵的時候,它會等待你輸入相應的參數,並根據不同的參數運行不同的命令。

當然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關系,可用的熱鍵還多著呢!

定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:

"<熱鍵對應的ASCII字符>":"<執行的命令>"

其中熱鍵對應的ASCII字符可以通過 "先按Ctrl-V, 然後按熱鍵" 的方式來輸入, 如Ctrl-G對應的字符為^G, Alt-P對應的字符為^[p, Ctrl-Alt-H對應的字符為^[^H.

可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[.

先來看一些基本的熱鍵定義,(這裡熱鍵裡的字母不區分大小寫):
"^[-":"su -/C-M" # 按Alt+- 執行su - 命令,末尾/C-M表示輸入完定義的命令後回車,也可以更簡潔地用一個/n來表示.

"/M-/C-G":"gaim & &>/dev/null && disown/C-M"
# 按Ctrl-Alt-g在當前shell打開gaim, 並脫離該shell獨立運行,即:即使你退出了該shell, gaim也不會關閉

其他一些組合鍵可以根據自己的需要配置,偶就不多說了.

大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在後面會得到解決。

一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復輸入命令,但是方向鍵離主鍵盤區太遠,如>果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什麼辦法把方向鍵的功能轉移到我們經常>敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找

通過定義熱鍵可以做到這點:

"/eh":"^[OD" # move left
# Alt-H 向左移一個字符, 相當於Left Arrowgh, 這裡^[OD即向上方向鍵的ASCII字符,輸入方式與前面提到的類似
"/el":"^[OC" # move right
# Alt-L 向右移一個字符,相當於Right Arrow

"/ej":"^[OB" # move up
# Alt-J 向下移動,相當於Up Arrow

"/ek":"^[OA" # move down
# Alt-K 向上移動,相當於Down Arrow

"/ei":"^?" # left earse one character
# Alt-I 向左刪除一個字符,相當於Backspace

"/eo":delete-char # right earse one character
# Alt-O 向右刪除一個字符,相當於Delete

"/en":backward-kill-word # left kill one word
# Alt-N 向左刪除一個單詞

"/em":kill-word # right kill one word
# Alt-M 向右刪除一個單詞

"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head
# Alt-A 刪除當前位置到開頭,也就是多Alt-N幾次(A--> ahead)

"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head
# Alt-E 刪除當前位置到末尾,也就是多Alt-M幾次(E--> end)

"/ep": insert-last-argumem"
# Alt-P 插入上一個命令最後一個參數 (P--> Paste)

"/ew": forward-word
# 系統默認Alt-F (forward)跳到當前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾

"/eq": backward-word
# 系統默認Alt-B (backward)跳到當前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首

發覺F和B鍵離得太遠,不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用

這樣輸入命令的時候幾乎可以不用離開主鍵盤區,而且移動光標,刪除字符,刪除單詞,上下歷史命令查找都集中>在一塊,比以前方便多了。不過開始可能有些不習慣,就跟使用vi一樣,但是多練幾次就熟練了。

Copyright © Linux教程網 All Rights Reserved