TGViewer
melikhov.dev melikhov.dev @melikhov_dev · 4.74K subscribers
Post #383 6.44K
В поисках самого лучшего эмулятора терминала

Как подметил Тонский, пока мы пытались сделать хорошие интерфейсы — зумеры ушли в консоль. А для консоли нужен эмулятор терминала, чтобы вывозить все эти реакт-приложения (что? да!)

Сначала немного теории.

Что такое эмулятор терминала? Это программа, которая эмулирует древнюю железку — терминал. Например вот VT100. То, что в обиходе называет терминалом, на самом деле эмулятор такой железки.

Что такое эскейп последовательности? Нам нужно отправить в шелл или в программу, запущенную в консоли комбинацию клавиш, которую мы нажали. Но у нас нет никакой возможности, кроме как закодировать это набором символов. Как-то так `^[b` для option + left. Попробуйте сами — нажимаем `ctrl + v` и дальше нажимаем нужную нам комбинацию клавиш.

Проблема в том, что нет нормального стандарта на эскейп последовательности. Если в базовых option+left и т.д. все ещё более менее совпадают, то shift+enter кто во что горазд кодирует. Как система понимает, с каким эмулятором она работает? Знание об этом храниться в $TERM. Например, для terminal и item2 это будет `xterm-256color`. Для других терминало может быть другое значение. В системе есть целый справочник `/usr/lib/terminfo` где сказано, как читать эскейп последовательности для вашего эмулятора терминала.


Родной эмулятора терминала macOS — отлетает сразу, у него нет эскейп-последовательностей на shift + enter (а нам надо! мы же хотим в клод коде промпты писать!). И не круто же, из коробки белый фон. Мы такое не уважаем, эмулятор терминала должен всем показать, что ты крутой хакер.

iterm2 дефолт, но конечно достал. Не быстрый, из коробки пользовать им невозможно (ну реально раздражает каждый раз после установки идти проходить квест по настройке эскейп последовательностей в диких менюшках). Ну и просто старый. Фу. Но куда бежать?

Ghostty. Быстрый (написан на zig), нативный, с простым конфигом. Ну просто лепота. Но есть одно но, большинство линуксов ничего о нём не знает. И когда вы подключитесь по ssh и откроете клод код — shift + enter работать не будет. В ghostty это понимают и предлагают автоматический режим для закидывания terminfo на любую машинку куда вы подключаетесь. Даже два режима: прокидывай terminfo, либо автоматически подменяй $TERM на xterm-256color (нам не катит, мы же ищем shift + enter). Если вы готовы немножко помусорить на удалённых машинках, то всё ок.

Kitty Тоже быстрый, но не такой нативный и красивый как Ghostty. Супер конфигурируемый, мощь. Проблема с terminfo присутствует.

Warp. AI во все поля. Чтобы зайти — нужно создать в облаке учётку и залогиниться. Это я не понял и не уважаю. Не по нашему это, не по хакерски. Дизлайк, отписка.

Пока остановился на Ghostty за красоту. Но релизы там какие-то ну совсем редкие. Наверное дальше пойду на Kitty
  • ❤ 20
  • 🥱 9
  • 🔥 2
  • 👍 1
  • 🤮 1
More from @melikhov_dev
  1. Sep 13, 2026Какой он — личный харнес? Вот мы и пришли в точку, когда уже бизнес не устраивает медленна…
  2. Aug 30, 2026Разобрал своего питонячего новостного бота и собрал нового, уже на Гермесе. Ну как собрал…
  3. Aug 24, 2026Вы могли наверное заметить что как-то мало меня стало в последнее время. Не видно на конфе…
  4. Aug 6, 2026Как же хорошо перечитывается сейчас «Трилогия Муравейника» Гибсона (она же Sprawl trilogy)…
  5. Aug 1, 2026github показал очередную полезную штуку — Stacked pull requests. Даже жалко, что как обычн…
  6. Jul 21, 2026Жил счастливо (почти) с revdiff, но тут мне показали herdr.dev. Это такой tmux на стероида…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →