В emacs term-mode, что такое char-mode и line-mode? Как они отличаются?

Googling, я могу только найти, как переключаться между этими двумя, но не описание того, что они есть.

Итак, что такое char-mode и line-mode ? И в каком режиме обычно находятся обычные оболочки?

Как и на странице, которую вы указали :

В линейном режиме термин действует в основном как режим Shell (см. Режим оболочки ). В режиме символа каждый символ отправляется непосредственно в подоболочку, за исключением символа escape Term, обычно Cc.

В линейном режиме он считывает целую строку и разрешает различные операции редактирования emacs на ней, а затем отправляет ее процессу все сразу, когда вы закончите (нажмите Enter ). В режиме символа каждый символ отправляется, как только вы нажимаете клавишу – работа с линиями, редактирование и т. Д. – это процесс, выполняемый в терминале, например, ваша оболочка.

Почему вы можете использовать один над другим? Режим линии позволяет вам выполнять операции редактирования Emacs над тем, что вы пишете, накапливать несколько строк для отправки одновременно и выполнять пополнение вкладок файлов в Emacs. Подробнее см. В списке команд в режиме оболочки . Режим символов позволяет использовать все функции базового процесса, такие как его собственное (скорее всего, лучшее) выполнение вкладки, а не операции Emacs, а также отправлять через входы, которые Emacs интерпретировал бы как ссылающиеся на свои собственные команды (например, Ctrl- X ). Это также режим, который вам нужен, если вы хотите запустить vim внутри emacs .

Обычный терминал работает в эквивалентном режиме символов.