Переехал на кучу утилит переписаных на Rust
Тег «угадай автора по заголовку».
Q: Зачем?
A: Ради эксперимента, повысится комфорт пользования терминалом или нет.
Q: Причем тут Rust?
A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install
, но тормозило бы. Ближе opam install
или go get
Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.
alacritty
- GPU ускоренный терминал.alias cat=bat
- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.broot
- навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.dust
- утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.alias ls="exa -l --group-directories-first"
ls с хорошими дефолтами, tree встроено.rip
Утилита для удаления файлов с разными удобными фичами и восстановлениемhors "How do I parse float in javascript?"
- находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал -howdoi
.mdcat
- cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.alias grep=rg
- очень быстрый и удобный grepstarship
- shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.tokei
- сборщик статистики по ЯП и строкам кода в деревьях исходников.hyperfine
- бенчмарк утилита, time на стероидах.tldr
- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/topgrade
- универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.runiq
- быстрыйsort | uniq
с разными алгоритмами внутри.fd
- быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключиfselect
- поисковик файлов с SQL-like языком запросовsd
- как sed, только интуитивныйi3status-rs
- Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.onefetch
- Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локальноwasmtime
- JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.scriptisto
- «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода
Что не зашло совсем
- https://github.com/nushell/nushell - куча всего недоделано.
- https://github.com/mitnk/cicada - очень уступает bash
- https://amp.rs/ - сильно отличается от vim, непривычно, глючит. Навигация по дефолту очень крутая зато.
Все вышеперечисленое ставится через cargo install <package_name>
(кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls
на Java. Пользователей emacs
прошу не беспокоить