在 emacs term-mode 中,char-mode 和 line-mode 是什么?它们有何不同?

The*_*Cat 7 emacs

谷歌搜索,我只能找到如何在这两者之间切换,但没有描述它们是什么。

那么,什么是char-mode 和 line-mode?常规外壳通常处于什么模式?

Mic*_*mer 8

您链接页面中

在行模式下,Term 的行为基本上类似于 Shell 模式(请参阅Shell 模式)。在char模式下,每个字符都直接发送到子shell,除了Term转义字符,通常是Cc。

在行模式下,它读取整行并允许对其进行各种 emacs 编辑操作,然后在您完成后立即将其发送到进程(按Enter)。在字符模式下,只要您按下键,就会发送每个字符 - 处理行、编辑等取决于终端中运行的进程,例如您的 shell。

为什么要使用一个而不是另一个?行模式允许您对所写的内容执行 Emacs 编辑操作,累积多行一次发送,并在 Emacs 中执行文件名的制表符补全。有关详细信息,请参阅shell 模式下的命令列表。字符模式使您可以使用底层进程的所有功能,例如它自己的(可能更好的)制表符补全,而不是 Emacs 操作,并且还可以发送 Emacs 会解释为引用它自己的命令(如Ctrl-X)的输入。如果您想在viminside中运行,这也是您想要的模式emacs

普通终端以等效于字符模式的方式运行。