Как кодировать как хакер в терминале

1656518424 kak kodirovat kak haker v terminale

от Калеба Тейлора

Вы хакер. Ваш дом – это терминал. Вы знаете, что каждое нажатие клавиши ценно. Если что-то дает менее 100% эффективность, вы потратите часы на поиск правильного инструмента, чтобы сэкономить секунды. Потому что это всегда того стоит.

1*GMvdjMQAjokYEFzTXjsp6Q
Источник: Пабло Стэнли через Twitter

Ваш постоянный поиск новых и лучших способов делать вещи не отвлекает вас от настоящей работы? Кто может сказать так, а вы скажете нет. Никакую работу не стоит делать, если вы не можете почитать своим коллегам, почему вы смогли сделать это так эффективно (время на настройки не учитывается).

Ниже представлен список инструментов/функций, о которых должен знать каждый хороший хакер.

Dislcaimer: Эта статья написана с большой дозой сатиры. Это поворот мема «Я, интеллектуал». Хотя предложения искренние (и ни в коем случае не полные), ссылка на «хакер» — только для развлечения.

оболочка (zsh)

Средний разработчик: Оболочка есть оболочка. На самом деле не важно, какой из них я использую. Они все равно хреновые.

Вы, хакер: Скорлупа — это источник жизни моей работы Моя страсть к эффективности и функциям не знает предела. Моя оболочка должна быть достойна настоящего хакера.

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

Он поставляется с целым набором функций:

  • Автоисправление орфографических ошибок команд
  • Легкая замена bash
  • Лучшее cd завершение использования <tab>
  • Расширение пути: cd /u/c/c/j + <tо> =cd /user/caleb/code/jarvis
  • Гораздо больше

Он также поставляется с отличной структурой для управления вашей конфигурацией zsh: Oh My Zsh. Он включает в себя более 200 плагинов и 140+ тем, чтобы добавить всевозможные отличные функции к вашему терминалу. Небольшой образец:

  • git – множество псевдонимов и полезных функций для git
  • tmux – псевдоним и настройки для интеграции zsh с tmux
  • узел — добавляет node-docs команда для открытия документов веб-сайта
  • osx – несколько утилит для работы с OSX
  • web-search – инициализация веб-поиска из командной строки
  • автопредложения – быстрые, ненавязчивые предложения при вводе на основе истории

Полный список плагинов можно найти здесь.

Управление сеансами (tmux)

Средний разработчик: Хорошо, у меня открыты файлы для lame_project_1 Но мне тоже нужно поработать в boring_project_2. Мне тоже нужно зайти на сервер по ssh и посмотреть журналы. Я думаю, что я просто сделаю огромный беспорядок в своем терминале, в котором открыты файлы/вкладки из нескольких проектов, и я в конце концов потеряю контроль и буду вынужден закрыться и начать все сначала.

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

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

Это позволяет создавать сеансы. Каждый сеанс можно настроить в соответствии с нужным вам макетом. Вы можете называть сеансы для легкого переключения и даже сохранять и возобновлять сеансы, если терминал закрыт. Кроме того, он имеет собственную настраиваемую строку состояния, которая позволит вам отображать такие вещи, как время, дата, использование ЦБ и т.д. И если вы в любой момент не знаете об использовании вашего ЦБ, вы вообще хакер?

1*1aaEQExjdaueLgsLWxfr1g
Организуйте свой терминал с сессиями и используйте fzf для нечеткого создания/нахождения/удаления сеансов

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

Подсказка суперпрофи-хакера:
Используйте tmux с fzf с некоторыми отличными скриптами для быстрого создания/удаления/перемещения, чтобы поднять хакер до более чем 9000.

Поиск (ripgrep)

Средний разработчик: Где я определил эту константу? Я знаю, что это где-то здесь. Я постараюсь за это добиться. Снова какие аргументы? Позвольте мне поглотить это. Черт теперь он ищет мою папку node_modules. Это хуже всего.

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

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

1*5Nt_6zoCkF0THdmdNtGoQw
ripgrep в действии

По словам его создателя: «Используйте ripgrep, если вам нравится скорость, фильтрация по умолчанию, меньше ошибок и поддержка Unicode».

Нечеткий поиск (fzf)

Средний разработчик: Конечно, трудно запомнить точное расположение такого количества файлов в моем проекте. Пожалуй, я буду спотыкаться, пока не найду нужный.

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

Вы знаете, что вам не нужно вводить больше, чем нужно. Таким образом, вы используете fzf, универсальный нечеткий поиск в командной строке. Он также может производить гораздо больше, чем нечеткий поиск файлов. Его можно использовать с любым списком: «файлы, история команд, процессы, имена хостов, закладки, комиты git и т.д.».

Подсказка суперпрофи-хакера: Вы знаете, что псевдонимы – это отличный способ создать ярлыки, чтобы воспользоваться преимуществами функций fzf. К примеру, если вы хотите нечетко найти файл, а затем открыть выделение в своем редакторе по умолчанию, вы можете добавить это к своему zsh конфигурация:

1*c4DFt6p5PDhOxHTx2p_lag
Теперь вы можете запустить fo fuzzy-find и открыть файл

Многие другие примеры можно найти на fzf wiki.

Подсказка терминала (космический корабль)

Средний разработчик: Кого волнует, как выглядит мой терминальный подсказок? Это не может дать мне полезную информацию. Я просто оставлю его по умолчанию.

Вы, хакер: Я хочу, чтобы моя подсказка была удивительной Это должно быть с учетом контекста. Он должен предоставить мне полезную информацию и быть настроенным. Также было бы мило, если бы это было связано с космосом.

1*Vtc9ZCR2p7a_9-6MuFB-hw
Добро пожаловать в будущее… но на самом деле настоящее. Только для хакеров/космонавтов.

Вы знаете, что подсказка должна быть простой, чистой и предоставлять только релевантную информацию. Он также должен поразить людей, когда они видят его красоту. Вот почему вы используете космический корабль-подсказку. Он обеспечивает интеграцию git/mercurial, индикатор уровня заряда батареи, разумное имя хоста и пользовательские данные, номера версий различных библиотек, великолепные значки и многое другое.

Изменение каталогов (z)

Средний разработчик: Мне нужно изменить свой каталог на мой «хакерский» проект, который находится внутри моей классной папки, которая находится внутри моей личной папки, которая находится внутри моей папки с кодом, находящейся в моем домашнем каталоге.

cd ~/code/personal/cool/hacker

Вы, хакер: Мне нужно сменить свой каталог на мой «хакерский» проект.

z hacker

Ввод полных путей в файлы – это то, что делают средние разработчики. Вы хакер. Вы полагаетесь на z. После установки он начнет изучать какие каталоги вы посещаете. Затем вы можете дать ему регулярное выражение (или простое название папки), чтобы перейти к наиболее вероятному кандидату.

Бонусные хакерские инструменты

Следующие инструменты являются дополнительными способами действительно повысить уровень вашей хакерской игры.

  1. wttr.in — Есть только один правильный способ проверить погоду.
1*eoCAnuHdh9I69SiGJU_aOg

2. «Звездные войны» – классные люди, как «Звездные войны». Хакеры наблюдают за этим в терминале.

telnet towel.blinkenlights.nl
1*VHd1lA9C36pYxi_a5-afYQ
Совет профессионала: смотрите звездные войны в другой панели tmux во время работы. Никто вас не будет спрашивать.

3. haxor-news – Вы даже хакер, если не читаете Hacker News?

1*lcF0nWWF74IZCcc8I-ULBQ

4. Spotify. Используя shpotify, вы можете воспроизводить музыку из терминала (только для OSX… Эй, прекратите освистеть! Положите стул! Кто бросил этот помидор!?), или mopidy для чего-то, что является кроссплатформенным.

1*ued2Pipg7m16DOKuwpAUdw
Боже, благослови команды в терминале

На этом все кончается. Это далеко не полный перечень. Есть ли у вас другие отличные инструменты для хакеров? Оставьте комментарий и дайте мне знать.

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

1*V73Ai9Nc8NhSRrs8zOvcHA

Добавить комментарий

Ваш адрес email не будет опубликован.