Readline 是一個用於處理命令行輸入的庫,它提供了強大的編輯和自動完成功能,Readline 庫被廣泛應用於各種 Unix/Linux 系統中,是 Bash Shell 的一部分
Readline 庫提供了兩種常見的文本編輯器:
Emacs
模式:Emacs
是一個流行的文本編輯器,Bash 的 默認編輯模式 就是 Emacs
模式。在 Emacs
模式下,可以使用類似於 Emacs
編輯器的快捷鍵來編輯命令行Vi/Vim
模式:Vi/Vim
是另一個廣泛使用的文本編輯器,在 Vi/Vim
模式下,可以使用類似於 Vi/Vim
編輯器的快捷鍵來編輯命令行 (Vi/Vim
以下簡稱 Vi
)Emacs
按鍵通常標記方法:
E - Esc
M - Meta (許多鍵盤 Meta 鍵都標記為 Alt)
A - Alt (macOS:option鍵)
C - Ctrl (*macOS:command鍵)
S - Shift
*快捷鍵
Readline 有許多常用的快捷鍵可用於增強命令行的編輯和操作。以下是一些常見的 Readline 快捷鍵及功能:
Ctrl + A
:光標會跳到行首Ctrl + E
:光標會跳到行尾Ctrl + B
:向左移動一個字符 ( 向左箭頭 )Ctrl + F
:向右移動一個字符 ( 向右箭頭 )Alt + B
:向左移動一個詞(以空格或特殊字符為邊界)( Ctrl + ←
)Alt + F
:向右移動一個詞(以空格或特殊字符為邊界)( Ctrl + →
)Alt + .
:插入上一個命令的最後一個參數Alt + U
:將光標處的後面單詞全部變為大寫Alt + L
:將光標處的後面單詞全部變為小寫Ctrl + D
:刪除光標處的字符,類似於 Delete
(macOS:fn + delete
),如果是空行,則退出當前會話 ( EOF )Ctrl + H
:刪除光標前一個字符,類似於 Backspace
(macOS:delete
)Ctrl + K
:刪除從光標處到行尾的文本Ctrl + U
:刪除整行Ctrl + W
:刪除光標前一個詞Alt + Backspace
:刪除從光標處到上一個單詞開頭的內容Tab
: 自動補全命令、文件名或目錄名Alt + !
: complete-command (命令)Alt + $
: complete-variable (變數)Alt + @
: complete-hostname (主機名)Alt + ~
: complete-username (用戶名)Ctrl + P
:選擇上一個命令(向上箭頭)Ctrl + N
:選擇下一個命令(向下箭頭)Ctrl + R
:進入歷史搜索模式Ctrl + G
:退出歷史搜索模式Ctrl + T
:選擇指令後不執行Tab
: 顯示可執行的指令Ctrl + L
:清屏,相當於執行 clear 命令Ctrl + C
:終止當前正在運行的命令Ctrl + Z
:將當前命令放入後台(暫停)Ctrl + S
:暫停當前正在運行的命令Ctrl + Q
:繼續當前正在運行的命令while [ 1 ]; do SUM=$(($SUM+1)); echo $SUM; done