檢視原始碼 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
  • HomeEnd 代表鍵盤上具有相同名稱的按鍵。
  • LeftRightUpDown 代表對應的方向鍵。
  • 當一個函數有多個可能的按鍵序列時,它們會列在「按鍵序列」欄中的單獨行上。
按鍵序列功能
Home行首
C-a行首
C-b向後移動一個字元
C-LeftM-Left向後移動一個單字
M-b向後移動一個單字
C-d刪除字元
M-d刪除單字
End行尾
C-e行尾
C-f向前移動一個字元
C-RightM-Right向前移動一個單字
M-f向前移動一個單字
C-g進入 Shell 中斷模式
C-k刪除到行尾
C-u從行首刪除
C-l清除螢幕
M-c清除目前運算式
M-l重繪行
C-n從歷史緩衝區中提取下一行
C-oM-o使用環境變數 VISUALEDITOR 中指定的編輯器來編輯目前行。環境變數可以包含編輯器的引數(如果需要),例如 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-UpM-Up在編輯多行時向上導覽一列
C-DownM-Down在編輯多行時向下導覽一列
M-Enter在游標處插入新行
M-<M-S-Up導覽至目前運算式的開頭
M->M-S-Down導覽至目前運算式的結尾
TabC-i自動完成目前運算式,或顯示完成建議
M-c清除目前運算式
M-h顯示游標左側最近的模組或函數的說明。
PageUp向上滾動展開、搜尋或說明緩衝區 5 行。
PageDown向下滾動展開、搜尋或說明緩衝區 5 行。

表格:tty 文字編輯

Shell 中斷模式

在此模式下,可以執行以下操作

  • 終止或暫停目前的 Shell
  • 連線到暫停的 Shell
  • 啟動新的 Shell