Как запустить emacs в эмуляторе терминала без отдельного окна?

Я хочу переключиться на Emacs из Vim, и одна вещь, которая удерживает меня, заключается в том, что Emacs открывает отдельное окно при запуске под X. могу ли я получить такое же поведение для Emacs, как и при запуске без X? То есть, я хочу, чтобы Emacs запустил сеанс в том же терминале, в котором он был запущен.

Дайте мне знать, если вопрос не ясен. Заранее благодарен!

23
задан Amit Saha
09.04.2023 4:21 Количество просмотров материала 2530
Распечатать страницу

5 ответов

Я не эксперт emacs, но это сделало трюк для меня:

emacs -nw
33
отвечен Alberto Zaccagni 2023-04-10 12:09

можно начиная с Emacs как emacs --daemon и затем с помощью emacsclient -t редактировать файлы. Это сохраняет Emacs загруженным в фоновом режиме, так что вы можете использовать Emacs больше как vi. Сеансы редактирования запустятся мгновенно, а" выход " через C-x C-c просто закроет текущее соединение. Здесь очень красиво.

16
отвечен jrockway 2023-04-10 14:26

хотя ваш вопрос был дан ответ, я бы рискнул сказать, что это не так, как любой обычный пользователь будет использовать в Emacs. В отличие от vim, emacs обычно имеет более длительное время запуска и в любом случае имеет тенденцию работать все время с несколькими открытыми буферами. Поэтому, когда вы хотите что-то сделать с emacs в терминале, вы вызываете emacsclient -nw (предполагая serverhas в Emacs был запущен). Посмотри на Как начать использовать EmacsClient для сведения.

5
отвечен Raja 2023-04-10 16:43

Если вы используете bash, вы всегда можете добавить следующее.bashrc

псевдоним emacs= "emacs-nw"

Это спасло меня много печатать (и проклинать, когда я забываю вводить переключатели).

2
отвечен Dick Kennedy 2023-04-10 19:00

комбинируя приведенные выше ответы Дика Кенни и Альберто Zaccagni вы получите следующую конфигурацию, которую я использую в .bashrc:

alias emacs='emacsclient -nw -c -a ""'

это попытается подключиться к запущенному демону emacs. Если ни один не запущен, он запустит новый, а затем подключится с помощью текущего окна терминала.

документы:

-a EDITOR, --alternate-editor=EDITOR
        Editor to fallback to if the server is not running
        If EDITOR is the empty string, start Emacs in daemon
        mode and try connecting again

-nw, -t, --tty      Open a new Emacs frame on the current terminal

-c, --create-frame  Create a new frame instead of trying to 
                    use the current Emacs frame
1
отвечен Heinrich Hartmann 2023-04-10 21:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх