.emacs Править ли всегда запускать Emacs в режиме терминала?

Я использую emacs в качестве своего редактора по выбору, и, поскольку я много работаю в терминале, я всегда запускаю emacs как

emacs -nw

чтобы он работал в терминале, а не в окне.

Я хотел бы просто бежать emacs и пусть он знает, что он должен работать в терминале. Мой вопрос - как мне отредактировать .emacs файл, так что это поведение по умолчанию?

4 ответа

Решение

Вы не можете сделать это в .emacs файл. К тому времени, когда этот файл анализируется, "выбранный" двоичный файл emacs уже запущен.

Вы можете установить emacs-nox пакет, как предлагает один из комментаторов, или создайте псевдоним в вашей оболочке, чтобы "emacs" всегда обрабатывался как "emacs -nw".

похотливый

Я использую псевдоним bash вместо.emacs для этого.
Добавьте эту строку в ваш ~/.bashrc.

alias emacs='emacs -nw'

Существует любой простой способ решения проблемы, который вообще не имеет ничего общего с emacs и будет работать для любой программы, которая может выбирать между работой в консоли и X:

unset DISPLAY

Конечно, вы можете не захотеть помещать это в свой файл конфигурации, чтобы применять его глобально ко всем сеансам оболочки, поэтому, если вы хотите, чтобы оно применялось только к emacs, то либо вызовите его из командной строки следующим образом:

DISPLAY= emacs

обратите внимание на пространство!!! если вы оставите пробел, это означает, что вы устанавливаете DISPLAY в emacs вместо того, чтобы в DISPLAY ничего не делать... эта команда является сокращением для:

DISPLAY=; emacs

Так что либо используйте вышеперечисленное из командной строки или вставьте это в скрипт-обертку, который будет выглядеть примерно так:

#!/bin/bash
unset DISPLAY
exec emacs

Я рекомендую exec там, потому что он заменит ваш скрипт-обертку на emacs; чтобы увидеть разницу между ними, вы можете запустить:

pstree -p

Когда я впервые настраивал псевдоним "emacs -nw" для emacs в windows, я застрял в ситуации, когда я думал, что объяснение tototoshi не сработало. И все же все, что требовалось, это перезагрузка моего терминала. Поэтому я думаю, что стоит упомянуть, что в Windows (по крайней мере), если вы используете emacs в терминале git bash для создания файла.bashrc и добавления к нему "alias emacs='emacs -nw" (как упоминается в tototoshi), у вас есть закрыть и снова открыть свой терминал для его работы.

Другие вопросы по тегам