Посмотрел по сторонам, какие есть современные эмуляторы терминала. Нашёл интересные!
Alacritty
Alacritty (39к звезд гитхаба) — это эмулятор терминала, написанный на Rust и использующий GPU компьютера для ускорения отрисовки графики. Действительно быстрее выводит результат. В большой директории tree выводит за 1.043сек, родной терминал мака за 1.5сек, около 30% разница в таком сценарии).
Имеет много гибких настроек в yaml формате, темы и прочее. Единственное, чего мне в нём не хватает — вкладок. Да, tmux помогает, но я всё же привык и к механизму вкладок. Скажем, запустить tmux локально, в одной из вкладок tmux зайти на сервер и там тоже запустить tmux, и уже имеем две сессии tmux, в которых переключаться не очень удобно (надо 2 раза нажимать префикс). Сплитить экран в Alacritty тоже нет возможности.
Warp
Warp (5.7к звезд гитхаба, хотя это не open source — и в этом минус, возможен сбор телеметрики и прочие дурацкие попытки отбить инвестиции). Уже по классике — Rust и GPU accelerated. Умеет творить абсолютную дичь, видно, что создатели хотят переосмыслить такую простую вроде штуку как терминал. Сейчас есть версия только для мака, версии для Windows и Linux пока в разработке. Как и Alacritty, порядка 25-30% быстрее вывод по сравнению с родным терминалом.
Интересный вариант, много новых концепций. Например, поле ввода команды ведёт себя так, как мы привыкли во всех обычных программах — можно выделять текст, его части, заменять части, есть двойной курсор как в редакторах кода, работает CMD+A для выделения всей команды. Все команды с их результатами визуально разделяются. Можно удобно копировать результат одной конкретной команды. Поиск по истории команд и автодополнение команд на уровне самого эмулятора терминала, а не оболочки вроде zsh.
Есть даже AI (без AI инвесторское бабло как получить?). Можно ввести текст в духе «how many lines changes in last two commits?» и он на основе этого текста сгенерит команду
Wezterm
Wezterm (4.3к звезд гитхаба). Тоже на Rust и тоже GPU accelerated. Конфигурация на lua, есть темы, табы и сплит экрана. По скорости tree разницы с родным маковским терминалом нет, правда. Сдвиг курсора на 1 слово у меня здесь не работает (option+влево или вправо на клавиатуре мака), наверняка как-то можно решить, но из коробки так.
Kitty
Kitty (14.7к звезд гитхаба). GPU accelerated, но не на Rust:) Вкладки и сплит экрана есть. Нет варианта для Windows (в отличие от Alacritty & Wezterm). Скорость вывода tree как у родного терминала. Сдвиг курсора на 1 слово у меня здесь также не работает, как и с Wezterm.
#IT #linux #interesting #rust #tools
Alacritty
Alacritty (39к звезд гитхаба) — это эмулятор терминала, написанный на Rust и использующий GPU компьютера для ускорения отрисовки графики. Действительно быстрее выводит результат. В большой директории tree выводит за 1.043сек, родной терминал мака за 1.5сек, около 30% разница в таком сценарии).
Имеет много гибких настроек в yaml формате, темы и прочее. Единственное, чего мне в нём не хватает — вкладок. Да, tmux помогает, но я всё же привык и к механизму вкладок. Скажем, запустить tmux локально, в одной из вкладок tmux зайти на сервер и там тоже запустить tmux, и уже имеем две сессии tmux, в которых переключаться не очень удобно (надо 2 раза нажимать префикс). Сплитить экран в Alacritty тоже нет возможности.
Warp
Warp (5.7к звезд гитхаба, хотя это не open source — и в этом минус, возможен сбор телеметрики и прочие дурацкие попытки отбить инвестиции). Уже по классике — Rust и GPU accelerated. Умеет творить абсолютную дичь, видно, что создатели хотят переосмыслить такую простую вроде штуку как терминал. Сейчас есть версия только для мака, версии для Windows и Linux пока в разработке. Как и Alacritty, порядка 25-30% быстрее вывод по сравнению с родным терминалом.
Интересный вариант, много новых концепций. Например, поле ввода команды ведёт себя так, как мы привыкли во всех обычных программах — можно выделять текст, его части, заменять части, есть двойной курсор как в редакторах кода, работает CMD+A для выделения всей команды. Все команды с их результатами визуально разделяются. Можно удобно копировать результат одной конкретной команды. Поиск по истории команд и автодополнение команд на уровне самого эмулятора терминала, а не оболочки вроде zsh.
Есть даже AI (без AI инвесторское бабло как получить?). Можно ввести текст в духе «how many lines changes in last two commits?» и он на основе этого текста сгенерит команду
git diff HEAD HEAD~2 --shortstat
, результатом которой в репозитории будет как раз что-то в духе 14 files changed, 2054 insertions(+), 2240 deletions(-)
.Wezterm
Wezterm (4.3к звезд гитхаба). Тоже на Rust и тоже GPU accelerated. Конфигурация на lua, есть темы, табы и сплит экрана. По скорости tree разницы с родным маковским терминалом нет, правда. Сдвиг курсора на 1 слово у меня здесь не работает (option+влево или вправо на клавиатуре мака), наверняка как-то можно решить, но из коробки так.
Kitty
Kitty (14.7к звезд гитхаба). GPU accelerated, но не на Rust:) Вкладки и сплит экрана есть. Нет варианта для Windows (в отличие от Alacritty & Wezterm). Скорость вывода tree как у родного терминала. Сдвиг курсора на 1 слово у меня здесь также не работает, как и с Wezterm.
#IT #linux #interesting #rust #tools