查看源代码 tty - 命令行接口
tty
是一个简单的命令行界面程序,用于收集和解释按键。完成的行会被发送到 shell 进行解释。一个简单的历史记录机制会保存之前的行,这些行可以在发送到 shell 之前进行编辑。tty
在使用以下命令启动 Erlang 时启动
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