Comments 27
Пробовали тайловый оконный менеджер, например i3? Видел у коллег и они были весьма довольны. Я пробовал, мне меньше зашел - мне привычнее gnome. i3 минималистичный и так же управляется хоткеями, мышкой тоже можно.
Да, немного экспериментировал с i3, однако тогда не хватило времени, глубины знаний и опыта, чтобы настроить всю систему под свои нужды. Пока пользуюсь KDE c "i3-like" горячими клавишами (переключение рабочих столов, перемещение и закрытие окон, открытие приложений). Сама концепция тайлинговых оконных менеджеров и i3 в частности мне очень нравится. Надеюсь, дойдут руки настроить систему с ним
Отдельное спасибо за спикок хоткеев к терминалу, очень удобно. Я бы еще добавил к ним Ctrl + W
- вырезать слово слева от курсора, его потом можно так же вставить. И минутка занудства: Ctrl + U вырезает всё слева от курсора. Т.е. если курсор стоял в конце строки, то да, всю команду, а если в середине, то "хвост" останется. В противовес ему есть Ctrl + K, который вырезает всё справа от курсора.
И главное, что эти хоткеи работают и на маке, да и в большинстве эмуляторов терминала. Где не работают, так это терминалы встроенные в IDE. :)
P.S.
Если кому-то зайдет идея использовать хоткеи в терминале, то их можно нагуглить по emacs hotkeys.
Я бы еще добавил к ним Ctrl + W
Это в большинстве программ закрытие текущей вкладки/окна.
Может временами сыграть злую шутку.
Да, хорошее замечание. Но в эмуляторах не встречал такого. Вкладка закрывается по Ctrl + Shift + W, а на маке по Cmd + W. В Windows Terminal тоже закрывается по Ctrl + Shift + W.
Да и момент, что для мака в этих хоткеях именно ctrl, а не cmd как часто бывает, что сочетания ctrl +
в маке превращается в cmd +
, но не в этом случае.
Спасибо за замечания!
По поводу комбинации Ctrl + U
. В bash она действительно стирает всё от курсора до начала строки. В zsh по-умолчанию стирает всю строку. Если нужно, данное поведение можно изменить в .zshrc
.
Порекомендую еще kitty, возможно зайдет вместо alacritty. Сам пользуюсь много лет, все устраивает.
Я остановился на Tilix - https://gnunn1.github.io/tilix-web/
Странно жаловаться на дефолтную тему в gnome terminal и потом настраивать свою в alacritty/omz.
Какое-то время назад переходил с yakuake (использует штатный кедовский konsole) на связку alacritty/tdrop/tmux из-за проблем с поддержкой nerd fonts, сейчас вернулся обратно на yakuake. Использовать tmux это, кагбэ не мешает.
Упомянутые "горячие клавиши" не относятся к эмулятору терминала, а к повальному использованию gnu readline (man 3 readline
), там есть и стандартные emacs-like комбинации, используемые по умолчанию, и vi-like для желающих.
Если не нравится дефолтный prompt могу порекомендовать попробовать starship.
Ещё из крайне полезных утилит с человеческим интерфейсом ripgrep как замена grep
, fd как замена find
. Ну и в дополнение dutree или dust вместо du -s
, broot для быстрой навигации а-ля nerdtree и подобные, sd вместо sed
.
Я пользуюсь Warp - https://www.warp.dev/warp-ai
Можно еще обратить внимание на эмулятор терминала Wezterm: есть поддержка sixel, gpu ускорение, вкладки, lua-скрипты, vim управление, написан на rust, если это важно. Да и жрет памяти сопоставимо с alacritty
Думаю zsh это не для новичков, для новичков fish, а если кастомизировать, то прощай bash zsh mksh ash sh и т.п. *sh
Очень похоже на то, как работаю я. Только у меня вместо alacritty - шопопало (машины разные, что там есть, то и запускаем), вместо tmux - screen, вместо nvim - шопопало (vim/mcedit/nano).
Обрастать своими удобняшками, конечно, можно, но к ним привыкаешь. А потом попадаешь на машину, настроенную по-другому, и мышечная память тебе начинает мешать. :)
Кстати, единственное, чего я не понял - так это зачем удалять сессию tmux? Создаем сессию и пусть себе висит, пока машина не перезагрузится. Закончили работу - отключаемся от сессии, и пусть там вкладки висят себе спокойненько. В следующий раз приходим на работу, подключаемся к сессии и продолжаем подвиг.
Рекомендую почитать этот док:
https://wiki.archlinux.org/title/Zsh
https://wiki.archlinux.org/title/Zsh_(Русский)
Забыл добавить про zsh-completions. Пользуюсь на Debian.
https://github.com/zsh-users/zsh-completions
Бинарники zsh-completions OBS repository: Debian / Ubuntu/ Fedora / CentOS / RHEL / Scientific Linux/ OpenSUSE / SLE
Для zsh советую попробовать Powerlevel10k.
В последних версиях Ubuntu bash заметно поумнел в плане дополнения команд. В частности, научился дополнять названия служб systemd при наборе команд типа systemctl start и прочих. Можно ли такое реализовать на zsh?
Использую konsole. Alacritty пробовал, но там не было font ligatures, не помню проблему kitty. По моему он криво поддерживал cjk и бэкспейс после あ смещало курсор на половину глифа. Или он съедал хоткей mc и их перенастройка была сложнее чем в konsole. Помню чем-то не понравилось так как была очень эзотерическая проблема и вернулся к konsole, который тоже хоткеи ест, но не надо читать доки по конф файлу - в гуи можно быстро вернуть на родину.
Современные vim не люблю - если давным давно раньше персонализация по большей части означала что ты сам разбираешься и правишь, то сейчас это bloat похлеще nodejs и апгрейд одного плагина рушит другие. Это не персонализация. Это "у нас кривые default настройки, но если ты погорбатишься, то получишь половину функционала vs code, и высокое чсв потому что ты гик, а не секретутка с редактором, где все либо есть из коробки либо плагины сами ставятся по одному щёлчку". Жду helix, там хотя бы множественные курсоры есть нормальные.
Использую lunarvim когда code запускать лень так как после 20 лет траха с настройками я осознал что мне больше нравится трахать баб, а не разбираться фигли lvim ругается что такая то функция Lua deprecated пни отковтии sh скрипта(было такое несколько месяцев назад)
В целом чем больше старею, тем меньше уделяю времени тинкерингу пока совсем не достаёт проблема - все равно через n лет все снесу, перееду на новую версию где старое сломается. Shell использую дефолтный. Когда нужны сложные скрипты использую ipython.
Мой терминал: alacritty, zsh, tmux, nvim