Инструменты командной строки для продуктивных программистов

Инструментыкоманднойстрокидляпродуктивныхпрограммистов

8 минут чтения Обновлено:

Adam Gordon Bell %

Адам Гордон Белл

В последнее время я много чего делал в командной строке. Я не заядлый специалист по терминалам – я использую VSCode больше, чем Vim, – но меня всегда удивляет количество сложных задач, которые можно выполнить, используя только стандартные инструменты командной строки POSIX, такие как grep , кот и Сортировать.

Инструменты мощные. Хороший инструмент облегчает и ускоряет работу, а отличный инструмент открывает новые возможности: ранее невозможные вещи становятся возможными, а иногда и легкими.

По мере того, как я узнал больше, я добавляю некоторые новые инструменты в свой набор инструментов командной строки, и в этой статье я хотел бы поделиться некоторыми, которые я нашел ценными.

брут

Не знаю, как я наткнулся на брут , но это довольно удобно. Если вы находитесь в небольшом каталоге и хотите увидеть местность, дерево отлично.

  ✗ дерево.  ├── dartboard.png ├── header.jpg ├── opensign.png ├── quote1.png └── trophy.png 0 каталогов, 5 файлов  

Однако, если в каталоге много файлов или подкаталоги, дерево становится гораздо менее полезным: вы видите только последний экран, полный информации, когда файлы прокручиваются мимо вас.

  $ tree < scrolling text for a long time > ├── banner.js └── index.html 800 каталоги, 54354 файлы  

брут решает эту проблему, зная размер окна вашего терминала и адаптируя его вывод к f это оно.

Вы можете перемещаться с помощью клавиш со стрелками в broot , и это также полезно для отслеживания использования дискового пространства, передавая - w flag ( broot -w ):

Он может делать множество других вещей, так что взгляните на Руководство GitHub , но для меня это просто лучшее дерево .

Напуганный

Если вы жить в терминале, и вы хотите

использовать свой терминал в качестве IDE , тогда полезно будет изменить ваш терминал на основе текущий каталог. Есть много способов сделать это. DirEnv загружает и выгружает . env файлы при вводе каталогов. smartcd похож. Он позволяет запускать сценарий оболочки всякий раз, когда вы переходите к определенному пути – вы можете запускать и останавливать службы, изменять подсказку или что-то еще, что вы хотите.

Однако мой любимый персонаж в этом жанре – это странно названный фанк , который «выводит функции оболочки на новый уровень, делая их легче определять, более гибко и интерактивно ».

Способ фанк работает просто: когда вы входите в каталог, фанк ищет . забавный файл, содержащий список функций bash. Он загружает их, а когда вы уходите, выгружает их.

Это означает, что когда я нахожусь в каталоге для этого В блоге Jekyll у меня загружены псевдонимы для создания нового сообщения, выравнивания разметки, вставки изображений и т. Д. Я могу перечислить их, набрав фанк

      $  фанк    lint ()   {  markdownlint   - исправить   "./_ posts / *. md"  ;  }      set-header ()   {  cp   "  $ (  последнее-изображение  )   "  "  $ (  папка с изображениями    )   / header.jpg " ;  }     set-image ()   {  cp   "  $ (  последнее-изображение  )   "  «  $ (  папка с изображениями  )   /   $ (  дата  +% s )  . png " ;  }    
 

фанк , однако, может и больше. Он имеет функции для интерактивного добавления и редактирования функций, а также для регистрации глобальных функций и псевдонимов. Что мне нравится, так это то, что я могу быстро дать команде в определенном контексте короткий псевдоним.

ℹ️ Установите Funky

Установите Funky с помощью pip

Затем добавьте крючки в ваш . Zshrc , bashrc или эквивалент:

  
## найдите, где funky.sh был установлен с помощью pip, и загрузите его исходный код / usr / local / lib / python3.9 / site-packages / scripts / shell / funky.sh
 

Fuzzy Finder (FZF)

Использование fzf , чтобы найти изображения, созданные для этого сообщения.

Если фанк и broot улучшил мою производительность, тогда больше инструментов могли только улучшить ее еще больше. Итак, я направился в Lobste.rs и спросил, какие еще инструменты используют люди. Подошел FZF совсем немного, и теперь я сам начал его использовать.

FZF - это средство нечеткого поиска из командной строки. Это быстро и позволяет в интерактивном режиме фильтровать параметры на основе нечеткого соответствия ключевых слов во многих местах, где вам нужно ввести значение в командной строке.

Если вы установите прилагаемые ярлыки ( / usr / local / opt / fzf / install ), вы можете использовать в любом месте и получите интерактивный нечеткий поиск, чтобы сузить до желаемого пути. FZF также делает поиск в вашей истории намного быстрее.

Это фильтр UNIX, который считывает ввод, показывает интерактивный список, который вы фильтруете, а затем отправляет выбранный элемент с другой стороны, но описание этого способа занижает его полезность.

Я рекомендую посмотреть это видео, где Алексей Самошкин проходит через множество возможных применений для FZF с успокаивающей фортепианной игрой на заднем плане:

ℹ️ Установите FZF

Установите FZF, используя свой