Как использовать Emacs в качестве терминала и для программирования

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

Итак, я хотел бы сделать терминальные вещи с Emacs.

Тем не менее, я чувствую, что придерживаюсь разделения "терминал-мир" и "мир программирования".

У меня есть команда Mac OS для переключения на iTerm (из любого окна), что я хотел бы сделать в Emacs: из любой точки ОС нажмите клавишу и в конечном итоге окажетесь в терминале в Emacs.

C-w в iTerm позволяет закрыть терминал, и C-t открывает новую вкладку. Работает хорошо (хотя я думал, как легко в Emacs будет просто что-то вроде "убить текущий терминал и создать новый" в одной команде).

Обратите внимание, что переключение между буферами также легко в iTerm, нет возможности переключиться на "бесполезный" буфер (для терминала), такой как *scratch* или же *messages*, Я считаю их полезными в мире программирования.

Всякий раз, когда я специально захожу в Emacs, моя среда программирования готова.

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

2 ответа

Независимо от того, используете ли вы Emacs GUI (рекомендуется) или версию терминала, а также независимо от того, используете ли вы свежий экземпляр Emacs или emacsclient для подключения к другому экземпляру в режиме сервера или демона, вам, вероятно, нужно этот:

M-x ansi-term

Он предложит вам вашу оболочку по умолчанию, обычно / bin / bash, нажмите Enter, и вы получите полную оболочку в буфере. Самое замечательное в том, что вы можете заменить оболочку по умолчанию на любую похожую интерактивную вещь, которая вам нравится, и заставить ее работать так, как вы ожидаете в терминале. Так что в моем случае я периодически использую это с интерпретатором Python вместо bash. Есть пара небольших причуд для переключения между более Emacs-подобным поведением и более терминально-подобным поведением, но в остальном. По умолчанию они связаны с Cc Cj и Cc Ck.

Я предлагаю просто поиграть с ними какое-то время, чтобы привыкнуть к ним. Я закончил тем, что связал бит Mx ansi-term с одной из функциональных клавиш.

Я использую много Emacs shell-mode: http://wikemacs.org/wiki/Shell

Мне нравится, что буфер оболочки похож на обычный буфер emacs, т. Е. Весь текст. Так что я могу

  • поиск в буфере (или helm-swoop),
  • Я могу изменить цвет шрифта ключевых слов по запросу и т. Д.
  • Я могу сделать URL кликабельными
  • Я могу сделать имена файлов кликабельными (супер полезно при компиляции)
  • Я могу иметь завершение оболочки лучше, чем Zsh
  • ...

Я часто использую две хитрости: пакет shell-here открыть оболочку в текущем каталоге (не уверен, что сейчас это нормальное поведение) и shell-popвыскакивает окно оболочки. В связи с этим я активно использую elscreen иметь больше рабочих зон. Есть еще много советов в ссылке, скажите мне, что вы думаете!

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