GNU Emacs; Версия GUI предлагает что-то большее, чем возможность иметь меню GUI?

25

Я уже несколько месяцев смотрю на GNU Emacs, включаю и выключаю (в основном, выключаю), и на самом деле я зашёл так далеко, что протестировал несколько базовых вещей, которые мне особенно нужны в редакторе ... постепенно начинает понимать свою топографию, и это начинает иметь (хороший) смысл ....

Главное , что я заметил, что это , кажется , работать точно так же в версии X-GUI , как это делает в X-Terminal версии (и я подозреваю , что это будет в значительной степени то же самое в среде без графического интерфейса .. ,

Первоначально я думал, что мне будет очень неудобно работать в редакторе без графического интерфейса, и это имело место, но чем больше я балуюсь водами Emacs, тем менее значимой становится эта потребность ... поэтому я сейчас смотрю на это с другого конца флешки ... Я переключаю свое внимание на работу в основном в терминальной версии ..

Мой вопрос: кроме очевидного GUI-меню (которое оказалось совершенно ненужным), есть ли заметная разница между версиями (X-GUI, X-Terminal и no-GUI)? *

Peter.O
источник

Ответы:

28

Раньше было больше ограничений, но начиная с GNU Emacs 23, интерфейс текстового режима может делать большую часть того, что может делать интерфейс GUI. Кроме того, начиная с GNU Emacs 23, вы можете комбинировать кадры X и кадры текстового режима в одном экземпляре Emacs.

Работа в терминале ограничивает комбинации клавиш ввода, которые Emacs может распознать, поскольку эмулятор терминала часто не передает отдельные escape-последовательности для всех комбинаций клавиш. Большинство эмуляторов терминала не поддерживают все комбинации модификаторов с символами ASCII (такие вещи, как C-S-aили C-;или модификаторы, отличные от Ctrl, Shiftи Meta/ Alt). Вы не можете отличить tabот C-iили backspaceот DEL(или в C-hзависимости от настройки эмулятора терминала). Существует предложенный стандарт для систематического кодирования escape-последовательностей, но многие популярные терминалы его не поддерживают .

В терминале вы получаете жирный шрифт, возможно курсив и подчеркивание, и сколько цветов поддерживает терминал. Под X Emacs может использовать несколько шрифтов и отображать изображения . Полезно это или нет - в основном личное предпочтение. Не стучите по нему, пока не попробуете блокировку шрифтов LaTeX (в AUCTeX ) и рендеринг математических символов и диаграмм через x-символ (я пробовал, и мне это не понравилось). Если вы используете Emacs в качестве браузера , поддержка изображений является плюсом (или нет).

В терминале вы ограничены поддержкой терминала для кодировок (но большинство по крайней мере поддерживают базовые функции Unicode в настоящее время). Интерфейс X позволяет Emacs выбирать свои собственные шрифты и смешивать их в наборах шрифтов ; это полезно, если вы редактируете многоязычные документы, которые не покрыты одним шрифтом. У меня нет достаточного опыта работы с нелатинскими языками, чтобы сказать, лучше ли Emacs, чем ваш обычный эмулятор терминала, в работе с «сложными» языками (объединение символов, двойной ширины, слева направо (чего нет в Emacs 23) поддержка в любом случае, Emacs 24 должен)).

Очевидно, что поддержка мыши в интерфейсе GUI. В текстовом интерфейсе вы можете включить поддержку мыши, если работаете в эмуляторе терминала под X с помощью xterm-mouse-mode. Вы также можете получить поддержку X буфера обмена. Графическая версия имеет несколько дополнительных функций , таких как всплывающие подсказки , избегания мыши и мыши активированные контекстное меню .

Вы можете использовать строку меню с любым интерфейсом. Версия X может помещать значки в верхней части рамки ( панели инструментов ), но я никогда не видел в них никакой пользы. Вы также не получаете диалоговые окна или полосы прокрутки в текстовых режимах. Вы не получаете удобство с несколькими кадрами, такими как панели скорости или кадр управления ediff .

Жиль "ТАК - перестань быть злым"
источник
Спасибо Жиль ... красиво объяснил. Это, безусловно, поможет сэкономить много времени, особенно в том, что касается комбинаций клавиш ввода (т. Е. То, что окружающая среда имеет право голоса ).
Peter.O
3

Одним словом: нет.

Графический интерфейс пользователя - это всего лишь удобный уровень меню, позволяющий сразу увидеть некоторые инструменты, которые есть в вашем распоряжении, и щелкнуть их для активации, но это всего лишь альтернативный интерфейс той же программы. Единственными вещами, которые можно считать дополнительными «возможностями», является интеграция со средой. Копировать / вставлять, перетаскивать файлы в окно, чтобы открыть, и тому подобное.

То же самое касается vimпротив gvim. Программа такая же, окно - это модная обертка на той же лошадиной силе.

Калеб
источник
Насколько я понимаю, что вырезать и вставить буфер обмена между Emacs и другими приложениями не работает в терминальной версии. Если так, то это шоу-стоппер. Кроме того, Жиль указывает на меньшие, но все же важные различия.
Джавадба
@javadba copy-paste с использованием регистров выбора и буфера обмена может быть настроен для идеальной работы в vim в терминале. Я полагаю, что правильно настроенный emacs тоже работает нормально.
Калеб