LINUX.ORG.RU
ФорумTalks

Переехал на кучу утилит переписаных на Rust

 , , ,


49

8

Тег «угадай автора по заголовку».

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 - очень быстрый и удобный grep
  • starship - 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-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода

Что не зашло совсем

Все вышеперечисленое ставится через cargo install <package_name> (кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls на Java. Пользователей emacs прошу не беспокоить

★★★★☆

Ответ на: комментарий от vertexua

Спасибо, кэп.

А время, потраченное на то, чтобы понять, почему твоя интерактивная инвокация грепа не грепает, не вернуть.

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

На удалённых хостах, тем более чужих, я код и не пишу

Казалось бы, какое отношение к написанию кода имеют файнд и греп?

но, в целом, сочувствую всем, кому приходится их использовать

Ну, кому-то вим пердолить, а кому-то работу работать, дело вкуса. С проектом объективно удобнее работать в IDE (или фичастом блокноте. мой выбор — VSCode), но одноразовые вещи я частенько в качестве упражнения на точность фигачу вообще с помощью cat, а так в основном nano, конечно.

WitcherGeralt ★★ ()
Ответ на: комментарий от NeXTSTEP

Почти всё вышеперечисленное уже есть из коробки. А если вдруг нет, то ставится через стандартные репозитории вашего любимого дистрибутива.

Вот побольше бы таких постов. Кое-что взял себе на заметку. Спасибо автору.

goto-vlad ()
Ответ на: комментарий от WitcherGeralt

Нано как одноразовый блокнот хорош, но в виме из коробки больше подсвечивалок для разных конфиг файлов

Deleted ()
Ответ на: комментарий от t184256

в целом, сочувствую всем, кому приходится их использовать

Лакмусовая бумажка, показывающая уровень разраба, масштабность и качество кода проектов, в которых он участвовал.

foror ★★★★ ()
Ответ на: комментарий от WitcherGeralt

Ну, кому-то вим пердолить, а кому-то работу работать, дело вкуса. С проектом объективно удобнее работать в IDE (или фичастом блокноте. мой выбор — VSCode)

Так vim допинывается до нужной кондиции внешними утилитами. Из полезного не упомянули fzf (и fzf.vim). Вот этой штукой я пользуюсь постоянно. Но она не на расте (если это кому-то важно кроме фанбоев).

bread ()
Ответ на: комментарий от WitcherGeralt

Так то конечно ты прав насчет пердолить, зато раз напердоленное работает быстро и не раздражает. В тяжелых случаях можно и жирноIDE запустить, не вопрос.

bread ()

нужна cli утилита для смены governor, именно утилита, шоб показала шо у мя щас и переключалку.

eR ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

Из простых - тот же alacrity. Или многочисленные «богатые» терминалы типа всяких kitty, которые тебе и график построят, и фильм покажут, но это не моё, я не шарю.

t184256 ★★★★★ ()
Ответ на: комментарий от foror

Детектор кровавого интырпрайза сверни, ты им даже в разраба не попал. Размахивают тут.

Писал бы я на AspectJ без IDE? Нет, я че, дебил. Сочувствую я тем, кто работает над гигантскими проектами на языках, где выразительность отрицательная? Да, моё право. Так же как я сочувствую вебдевам, врачам и работникам сферы обслуживания. Они нужны, иначе никак, но блин, это негуманно.

t184256 ★★★★★ ()
Ответ на: комментарий от intelfx

Спасибо, не знал!

git grep --untracked --headings -I [--no-index] звучит как оно.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

cpufreq-set

и где мне её взять? в репах нету

Но зачем тебе регулярно вручную менять governor?

мне надо глянуть какая щас стоит для начала

eR ★★★★★ ()
Ответ на: комментарий от t184256

Или многочисленные «богатые» терминалы типа всяких kitty

  • infinite scrollback — есть. Но хранит всё в RAM. Случайно что-нибудь типа yes вызовешь — всю систему в своп положит.
  • Гиперссылки не поддерживает.
  • Скроллбара нет.
  • Вкладки есть. Рисуются псевдографикой. Мышкой тягать нельзя, отцеплять от окон нельзя.
  • Контекстного меню нет. Скопировать текст с разметкой нельзя.

Какие-то странные у тебя представления о современном эмуляторе терминала. Это уровень tmux или urxvt.

NeXTSTEP ★★ ()
Ответ на: комментарий от eR

блин гугель великий

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

eR ★★★★★ ()
Ответ на: комментарий от t184256

И ты его зачем-то натянул на удалённые хосты. Сыграв шланга и представив это в качестве единственного возможного применения. Хотя, очевидно, речь в этом случае про грепанье логов.

WitcherGeralt ★★ ()
Ответ на: комментарий от t184256

тот же alacrity

Тормозное говно, стартующее с обратным отчётом аки ракета.

но это не моё

Вот именно, ибо нинужно. А гномовский и достаточно быстрый и достаточно фичастый, не понимаю к нему претензий.

WitcherGeralt ★★ ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Юзаю alacrity, собираю сам, стартует мгновенно, печатает реактивно. Когда в gnome-terminal можно будет настраивать хотя бы поля и межстрочное расстояние, соглашусь признать его фичастым.

t184256 ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

Это ты натянул. Я тебе сказал, для чего я юзаю rg, а ты вот только вот в этом коммент поворотом шланга свернул на логи.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Печатает быстрее гномовского, но стартует капец долго. Собирал, вроде бы не сам. Чуть больше года назад было, разные терминалы тестил.

WitcherGeralt ★★ ()
Ответ на: комментарий от eR

Если тебе пощелкать - то через ядерный интерфейс: /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor.

Если ты юзер ноута, оставь это tlp. Если десктопа или сервера: удостоверься, что там и так performance или ondemand, в противном случае - пиши багрепорт и ищи воркэраунды по их установке при загрузке для своего дистра.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Нет, речь была про универсальность. Твой случай редкоземелтный и никому не интересен, к тому же не валидный. Я сказал, что нет смысла плодить зоопарк всякой неведомой херни на локалхосте, ибо локалхостом, как правило, дело не ограничивается, а этот зоопарк везде не растащишь, а ты опять шлангуешь.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

Мужик, я сам исповедовал преимущественно твою точку зрения 3 года назад, когда здоровым был.

А потом, когда руки заболели, понял, что замысловатая клавиатура, Colemak у меня и так будут - можно и остальное заточить под себя. И доволен.

Да, я работаю и на удалённых хостах. Нет, я не таскаю туда свой экзотический шелл, свой neovim со своими плагинами, алиасы git’a и вышеуказанные утилиты. Но это не повод вообще ничего не настраивать, и сидеть грустно на дефолте. Я справляюсь с переключениями контекста, не переживай.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Нет, там значения только в интервале от одного до двух.

NeXTSTEP ★★ ()
Ответ на: комментарий от t184256

да я уже пощекотал и ты не повериш, по дефолту в дистрибутиве Fedora стоит powersave, это законно? (не ноутбук)

eR ★★★★★ ()
Ответ на: комментарий от t184256

Я как раз наоборот, с возрастом всё ленивей становлюсь и у меня везде дефолты за исключением мелочей.

WitcherGeralt ★★ ()
Ответ на: комментарий от intelfx

да уже нашёл, в kernel-tools запрятано.

eR ★★★★★ ()
Ответ на: комментарий от WitcherGeralt

В alacritty я думаю уже все почти идеально, кроме поддержки лигатур. Пулл реквест на это висит на гитхабе. Вот вмерджат, заживём. Собрать сам не могу, там пулл реквест передержал и теперь конфликты

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

И какие именно там изменения описаны? Все это я делал в 2008 году, и почти все в 2006 (cruisecontrol у нас появился не сразу, да). Повторюсь: принципиальных отличий нет. Но продается хорошо, это факт.

leave ★★★★★ ()
Последнее исправление: leave (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.