Шпаргалка по tmux

08:17 10 авг. 2016

Введение

Мне нравится работать с  командной строкой. Серьёзно, я считаю, что нет более продуктивного инструмента при разработке ПО, чем терминал. Может быть это связано с тем, что при работе в консоли начинаеш чувствовать себя хакером/волшебником/гиком, но не важно.

Работая, мы выполняем задачи совместно с другими программистами. У каждого есть свой ноутбук или ПК, и каждый подбирает удобные для себя инструменты. Так как я люблю работать с командной строкой, то я потратил некоторое время на совершенствование своей терминальной среды. Вот что видят мои напарники, когда начинают работать со мной:
Основные команды Tmux

Те кто работал со мной раньше знают, что это и как такое настроить у себя. Но у новичков это вызывает бурю эмоций и негодование.

Знакомьтесь, это tmux - терминальный мультиплексор.Если говорить по-простому, то tmux єто некое подобие диспетчера окон для терминала, возможности которого позволяют создавать несколько рабочих окон внутри одного терминала.

Что такое tmux?

Разработчики позиционируют его как терминальный мультиплексор. За этим термином скрывается простое смысл - вы можете создавать много окон в пределах одного терминала. Благодаря этому можно запускать много консольных приложений не засоряя рабочее пространство множеством открытых окон эмуляторов терминала.

Tmux сохраняет весь результат вашей работы в сессиях. Вы можете покидать сессию в любою момент времени. По терминологии tmux это называется detaching. Позже, вы сможете восстановить сессию, пока запущен сервер tmux (пока компьютер не будет перезагружен).

Особенно удобно это использоть во время работы по SSH. Например, по каким-то причинам вы потеряли соединение с удаленным сервером, в любой момент можно переподключиться заново и начать работу с той самой точки на которой вы закончили.

Подводя итоги можно сказать, что tmux предоставляет две основные возможности: управление окнами и управление сессиями.

Начало

Установка.

Tmux доступен в большинстве репозиториев, поєтому его установка сводиться к класическому набору комманд:

Для debian:

apt-get install tmux

Gentoo:

emerge tmux

MacOS:

brew install tmux

Запускаем первую сессию.

Для запуска первой сесси просто вводим команду в терминале:

tmux

Строка состояния является важной частью tmux. Помимо текущих открытых окон (слева) на ней также отображается некоторая системная информация, такая как дата и время (справа).

Разделение панелей

При создании нового сеанса, tmux по умолчанию начнет работу с одного окна и одной панели внутри. Но давайте попробуем разделить наше окно на несколько рабочих областей.

Все команды в tmux вызываются ключом префикса с последующим ключом команды (очень похож на Emacs). По умолчанию, tmux использует C-B в качестве ключа префикса. Эта запись может показаться немного странной, если вы не привыкли к tmux. Обозначение C- означает "нажмите и удерживайте клавишу Ctrl". Таким образом, С-Ь означает просто нажмите Ctrl и клавиши B одновременно.

Разделить рабочее окно на левую и правую панель можно при помощи комбинаций С-b %. КОманды следует вводить последовательно. Тоесть сначала нажимаем Ctrl+B затем отпускаем и нажимаем %.

Разделение панелей в tmux

Для разделение окна по вертикали используется комманда С-b ". Как и в предыдущем примере, сначала водим Ctrl+B, затем ".

Навигация между панелями

Для переключения курсора с одной панели на другую используеться уже знакомая нам комбинация клавиш С-b. Нажимаем ее для переключения в режим ввода комманд и стрелками выбираем нужное нам направление переключения.

Закрытие панелей

Для того, чтобы закрыть панель достаточно ввести команду exit или нажать комбинацию Ctrl+d.

Создание окон

Окнами в tmux называються некие рабочие пространства (аналогично с рабочими столами в KDE, GNOME, XFCE). Чтобы создать окно необходимо набрать комбинайию С-b -> c . Навигация между окнами осуществляется при помощи комбинации С-b p (предыдущее окно) С-b n (следующее окно). Или при помощи С-b <номер окна>.

Работа с сессиями

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

Чтобы свернуть сессию необходимо набрать С-b d (от англ. detach). Если нажать С-b D, то tmux предложит вам выбрать какую сессию необходимо свернуть.

Чтобы просмотреть список свернутых сессий выполним комманду

tmux ls

В ответ вы получите что-то похожее на это:

0: 1 windows (created Tue Feb 21 13:50:54 2017) [135x33]

Чтобы подключиться к сессии необходимо выполнить комманду:

tmux attach -t 0

Где 0 - идентификатор сессии. Для того, чтобы дать сессии более красивое имя существует комманда

tmux new -s database

Переименовать сессию можно набрав

tmux rename-session -t 0 database

А подключиться к сессии используя имя:

tmux attach -t database

В заключении

Приведу еще несколько полезных команд

C-b ? - вывод списка всех комманд

C-b z - развернуть/свернуть панель во весь экран

C-b C-<стрелки> - переключение активной панели

C-b , - переименование текущего окна


Теги: linux bash tmux
Категория Программное обеспечение   |   0 комм.
Нет результатов.