Содержание статьи
Лихие прыжки
Первым этапом реформации терминала для меня была вовсе не установка какой‑то программы, а ее удаление. Я отказался от популярного среди маководов iTerm2 в пользу стандартного приложения Terminal. Почему? Дело в том, что в какой‑то момент в Apple его круто переделали, и он с тех пор не только не уступает «Айтерму», но кое в чем превосходит его.
Важным открытием, например, для меня были шоткаты Cmd-вверх и Cmd-вниз, которые позволяют скакать по введенным командам. А еще можно нажать Cmd-L, чтобы стереть вывод последней команды. И это вовсе не аналог юниксовой команды clear, которая просто выводит 26 переносов строки и ничего, по сути, не стирает. Нет, вывод, если он мешал, исчезает бесследно.
Может, все это мелочи, но они моментально вошли в привычку и сделали жизнь комфортнее. Кстати, работают эти удобства независимо от текущего интерпретатора — можно, к примеру, скакать по командам внутри Python REPL.
Еще очень удобно для разных нужд настроить профили терминала с разными стартовыми командами. Например, ssh или python3. А заодно — покрасить фон в разный цвет. И даже задать шоткаты на открытие таких терминалов — через системные настройки или через FastScripts.

info
Создание нового шотката средствами macOS работает так. Заходи в System Preferences → Keyboard → Shortcuts → App Shortcuts, дальше добавь приложение (Terminal) и задай пункт меню в духе Shell-> (прямо так — со стрелками), а напротив — желаемый шоткат.
Не знаю, есть ли для Linux эмулятор терминала, где все эти функции скопировали (или придумали сами), но линуксоидам рекомендую поискать!
Полезная рыба
Когда‑то давным‑давно, а точнее — в 2018 году, я написал заметку в рубрику WWW, где рассказал о новаторском командном интерпретаторе под названием Fish.
Главная его фишка — это автодополнение: нажимаешь Tab, и можешь легко и удобно выбрать папку или файл, если вариантов несколько. Да, Zsh тоже так умеет, но там нужно дважды нажимать Tab, чтобы появился курсор, а в Fish достаточно нажать стрелку «вниз». Облегчение опять же небольшое, но точно так же входит в привычку и повышает комфорт.

А еще в Fish можно нажимать Tab после того, как ты введешь какую‑нибудь команду, чтобы увидеть полный список ее параметров с краткими пояснениями. Эдакий встроенный man, из которого можно сразу выбирать ключи.
Переходя на Fish, нужно помнить об одном — в отличие от Zsh, он не поддерживает синтаксис Bash! Ты можешь либо изучить отличия и учитывать их в своих однострочниках, либо просто предварять их вызовом Bash.
Звездолет
Единственной причиной, по которой я сам не стал переходить на Fish в упомянутом 2018 году, была его (а вовсе не моя!) тормознутость. Не то чтобы он совсем уж медленно работал, но как‑то неуверенно вихлялся в ответ на нажатия клавиш.
Прошли годы, и эта проблема самоустранилась волшебным образом — то ли Fish оптимизировали, то ли новый компьютер справляется с ним лучше. Но нет предела совершенству! Для любителей суперскоростных терминалов есть новомодная присадка под названием Starship.
Starship — это не эмулятор терминала и не командный интерпретатор. Это всего лишь «промпт», то есть программа, которая рисует приглашение к вводу, а также принимает и отображает вводимые символы. Поверь, даже тут возможно улучшение!

Starship написан на Rust, быстр и добавляет к терминалу несколько приятных визуальных фич — например, красит приглашение в красный, если прошлая команда завершилась с ошибкой. А еще он выводит над приглашением красивые информационные строчки, если ты работаешь с Git, виртуальным окружением Python, AWS и многими другими популярными программами.
Для установки Starship нужно добавить всего одну строку в config. (или ., если ты еще не в нашем рыбном клане). Ну и конечно, потом можно от души покопаться в настройках и смастерить себе самое красивое приглашение на свете.
Вечный кайф
Какая главная проблема при работе по SSH? Правильно, «сломанные трубы»! То есть сообщения broken , которые ты можешь увидеть, если слишком долго будешь отвлекаться на важные дела вроде чтения документации или приготовления кофе.
Лечат это по‑разному. Можно, например, использовать олдовый screen, чтобы после разрыва соединения хотя бы иметь возможность вернуться к тому, что ты делал. Но коннектиться придется заново — этого никто не отменял.
Я пробовал ставить Mosh — программу, которая работает на сервере и держит открытым собственный порт, чтобы ты мог подключиться при помощи клиента. Сессии Mosh железобетонны и могут длиться сутками!
Единственная проблема с Mosh в том, что в большинстве эмуляторов терминала перестанет работать прокрутка текста колесом мыши (оно начнет вместо этого прокручивать команды). Раздражает это просто неимоверно. К тому же ресайз терминала обычно приводит к появлению в нем мусора.
Я уже было подумывал вернуться к iTerm2, который поддерживает Mosh чуть лучше — в частности, скролл там работает. Но тут наткнулся на замечательную альтернативу Mosh — Eternal Terminal. В целом работает он точно так же, просто с ним прокрутка и ресайз окна не вызывают проблем. Да и название куда более возвышенное!
info
Когда я прибежал в редакционный чат рассказывать о своей находке, автор статьи «Магия консоли 2» немедленно указал мне на то, что уже писал об Eternal Terminal и давал мне почитать. Что ж! Бывает, что хорошую вещь нужно найти несколько раз.
Кстати, если бы я часто работал с SSH на ходу, чаша весов могла бы качнуться и в сторону Mosh. На iOS есть роскошный эмулятор терминала под названием Blink, который поддерживает Mosh. Его автора уже просили добавить поддержку и Eternal Terminal тоже (причем в тред пришел и сам разработчик ET и предложил помощь), но тот уже который год отмахивается от этой идеи.
На прощание
На этом мы сегодня закончим, а напоследок все же расскажу, что стряслось с колонкой про web3. Я уже дважды набрасывал ее план, но начать писать мешало простое соображение: кроме критики, там ничего не будет, а критиковать криптобратию — жутко неблагодарное занятие. Тяжело зависимого от крипты человека не переубедить, а остальных и переубеждать не нужно, у них и своего скепсиса — девать некуда!
