Использование Emacs в качестве терминального мультиплексора в Windows

Если вы разработчик или опытный пользователь, вы наверняка понимаете, как важно иметь эффективный и организованный рабочий процесс.

Когда мне приходится работать с системой на базе Windows, я очень скучаю по эмулятору терминала и возможности быстро переключаться между различными терминальными сессиями. Не говоря уже о том, что иногда мне нужно собрать 2-3 командные сессии в одном представлении. Существует множество сценариев, когда мне нужно выполнять несколько команд одновременно.

Конечно, у нас есть командная строка или Терминал Windows, но этого недостаточно для аналогичного опыта.

В Linux у меня был доступ к терминальным мультиплексорам, таким как Tmux и Screen.

Но, подождите, в Windows 10 и Windows 11 есть решение, которое может работать как терминальный мультиплексор и текстовый редактор – все в одном!

Зачем использовать Emacs в качестве терминального мультиплексора?

Хотя я уже говорил о том, почему мы рассматриваем такое решение, как Emacs, позвольте мне привести еще несколько причин, по которым вы захотите попробовать это решение (помимо того, что оно с открытым исходным кодом и просто замечательное):

1. Меньше – значит больше

Emacs – это универсальное решение. Он может работать как терминал, текстовый редактор, Файловый менеджер, почтовый клиент, калькулятор, текстовый веб-браузер. Все эти возможности упакованы в 150-мегабайтный файл в формате zip. Довольно безумно, правда? Вы не узнаете всего этого, пока не попробуете!

2. Мощная настройка

Emacs славится своей настраиваемостью. Вы можете настроить практически все: привязки клавиш, макеты окон, темы и даже поведение терминальных сессий. Это позволяет настроить среду под свои нужды, обеспечивая высокую эффективность работы.

3. Интегрированная поддержка оболочки

Emacs позволяет открывать сеанс оболочки внутри буфера, а благодаря поддержке eshell и shell вы можете запускать команды оболочки, работать с файлами и выполнять операции прямо во время редактирования текста.

4. Гибкость Windows

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

Использование Emacs в качестве терминального мультиплексора

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

Шаг 1: Установите Winget

winget поставляется в составе пакета App Installer. Поэтому сначала вам нужно установить App Installer из:

Шаг 2: Установка Emacs на Windows 11 или Windows 10

С помощью Winget установить Emacs очень просто. Просто выполните эту команду:

winget install emacs

Шаг 3: Откройте Emacs

Откройте Emacs из меню «Пуск» Windows 11.

Шаг 4: Запустите оболочку

В emacs нажмите Alt + X, введите shell и нажмите Enter, чтобы открыть интерактивный пользовательский интерфейс.

Теперь, используя Emacs, вы получите следующие преимущества:

  • Красивая система автозавершения.
  • Возможность редактировать любую предыдущую команду в нужный момент.
  • Быстрое переключение между различными командными сессиями.

Чтобы увидеть автозаполнение в буфере shell, просто введите a, а затем нажмите Tab, и вам будет представлен список опций. Вы можете выбрать один из вариантов щелчком мыши, как показано выше.

Для поиска предыдущих команд и выводов нажмите C-s. Это то, что я имел в виду, когда говорил о постоянных связках клавиш для всего рабочего процесса. В среде Emacs клавиша C-s будет выполнять поиск вперед везде, если вы не измените ее.

Чтобы отредактировать предыдущие команды, переместите курсор на предыдущую команду или выполните быстрый поиск, внесите необходимые изменения и нажмите Enter.

Если вы хотите открыть другую оболочку, нажмите клавиши C-u, а затем Alt + x, чтобы открыть другую оболочку.

По умолчанию этот буфер будет называться Shell 2. Перемещаться между разными оболочками можно с помощью клавиш C-x b и Tab. Для выделения используйте мышь. В следующем разделе мы расскажем о том, как это сделать более эффективно.

Мультиплексирование терминалов

А вот и волшебство. Если вы хотите создать два вертикальных макета, просто используйте привязку клавиш C-x 3. Если же вам нужны две горизонтальные раскладки, воспользуйтесь сочетанием клавиш C-x 2.

Для перехода к другим панелям вы можете использовать мышь или сочетание клавиш Emacs C-x o.

Автозавершение и многооконные раскладки

Еще один быстрый совет. Настроив всего одну строку, Emacs может предоставлять полезные завершения в зависимости от ваших действий с помощью режима ido-mode.

Сохраните приведенную ниже строку в новом файле .emacs, обычно расположенном под вашим пользователем C:/Users/YourUser/AppData/Roaming. После сохранения вам не нужно перезапускать Emacs.

(ido-mode 1)

Давайте также включим winner-mode, чтобы отменять и повторять многооконные макеты. Добавьте строку ниже в файл конфигурации, как вы делали это выше:

(winner-mode 1)

Наконец, сохраните эту двухстрочную конфигурацию

Просто сделайте Alt + x, а затем введите eval-buffer..

Теперь в режиме ido вы можете просто переключиться на буфер shell 2, используя C-x b 2.

В режиме winner-mode, если вы хотите получить полный предварительный просмотр одной панели, нажмите C-x 1, а затем, чтобы вернуться к предыдущей раскладке, выполните команду

winner-undo

Вы можете сэкономить себе время, назначив привязку клавиш для команд winner-undo и winner-redo.

Шпаргалка по привязкам клавиш

Здесь представлен список всех привязок клавиш, которые мы использовали в этом уроке.

Ярлык привязки клавиш Что оно делает
C-x C-s Сохраняет файл
Alt + x Открывает мини-приложение для ввода интерактивных команд
C-s Поиск в прямом направлении
C-u Alt + x Запуск другого экземпляра команды
C-x b Перемещение между буферами
C-x 2 Разделение на две горизонтальные раскладки
C-x 3 Разделение на два вертикальных макета
C-x o Перемещение на другую панель
C-x 1 Полный обзор определенной панели

А вам нравится иметь несколько терминальных сессий? Сообщите мне о своих мыслях в комментариях!

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)