檢視原始碼 tty - 命令列介面
tty
是一個簡單的命令列介面程式,它會收集和解析按鍵輸入。完整的行會被傳送到 shell 進行解析。一個簡單的歷史機制會儲存先前的行,這些行可以在傳送到 shell 之前進行編輯。當 Erlang 使用以下命令啟動時,tty
就會啟動
erl
tty
在幾種不同的模式下運作
- 一般模式:可以在其中編輯文字行並傳送到 shell。
- 搜尋模式:使用者可以在其中搜尋歷史緩衝區中的先前命令。
- Shell 中斷模式:允許使用者終止目前的 shell、啟動多個 shell 等。
一般模式
在一般模式中,使用者的按鍵輸入會被 tty
收集和解析。大多數 Emacs 的行編輯命令都受到支援。以下是支援的行編輯命令的完整清單。
排版慣例
C-a
表示同時按下 Ctrl 鍵和字母a
。C-S-a
表示同時按下 Ctrl 鍵、Shift 鍵和字母a
。M-f
表示依序按下 Esc 鍵和字母f
,或同時按下 Alt 鍵和字母f
。Home
和End
代表鍵盤上具有相同名稱的按鍵。Left
、Right
、Up
和Down
代表對應的方向鍵。- 當一個函數有多個可能的按鍵序列時,它們會列在「按鍵序列」欄中的單獨行上。
按鍵序列 | 功能 |
---|---|
Home | 行首 |
C-a | 行首 |
C-b | 向後移動一個字元 |
C-Left 或 M-Left | 向後移動一個單字 |
M-b | 向後移動一個單字 |
C-d | 刪除字元 |
M-d | 刪除單字 |
End | 行尾 |
C-e | 行尾 |
C-f | 向前移動一個字元 |
C-Right 或 M-Right | 向前移動一個單字 |
M-f | 向前移動一個單字 |
C-g | 進入 Shell 中斷模式 |
C-k | 刪除到行尾 |
C-u | 從行首刪除 |
C-l | 清除螢幕 |
M-c | 清除目前運算式 |
M-l | 重繪行 |
C-n | 從歷史緩衝區中提取下一行 |
C-o 或 M-o | 使用環境變數 VISUAL 或 EDITOR 中指定的編輯器來編輯目前行。環境變數可以包含編輯器的引數(如果需要),例如 VISUAL="emacs -nw" 。在 Windows 上,編輯器不能是以主控台為基礎的編輯器。 |
C-p | 從歷史緩衝區中提取上一行 |
M-r | 使用 shell:format_shell_func/1 格式化目前的運算式 |
C-r | 進入搜尋模式,然後在 Shell 歷史中向後搜尋 |
C-s | 在搜尋模式中,在 Shell 歷史中向前搜尋 |
C-t | 交換字元 |
C-w | 向後刪除單字 |
C-y | 插入先前刪除的文字 |
C-] | 插入匹配的右括號 |
C-Up 或 M-Up | 在編輯多行時向上導覽一列 |
C-Down 或 M-Down | 在編輯多行時向下導覽一列 |
M-Enter | 在游標處插入新行 |
M-< 或 M-S-Up | 導覽至目前運算式的開頭 |
M-> 或 M-S-Down | 導覽至目前運算式的結尾 |
Tab 或 C-i | 自動完成目前運算式,或顯示完成建議 |
M-c | 清除目前運算式 |
M-h | 顯示游標左側最近的模組或函數的說明。 |
PageUp | 向上滾動展開、搜尋或說明緩衝區 5 行。 |
PageDown | 向下滾動展開、搜尋或說明緩衝區 5 行。 |
表格:tty 文字編輯
Shell 中斷模式
在此模式下,可以執行以下操作
- 終止或暫停目前的 Shell
- 連線到暫停的 Shell
- 啟動新的 Shell