Маяк, дирижабль и многое другое

О мой зш

Oh My Zsh - это оболочка для оболочки Z, которая делает ваш терминал прекрасным инструментом для работы.

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

Мои любимые функции - это завершение табуляции и циклическое переключение табуляции. Я могу быстро перемещаться по каталогам и файлам, просто нажимая Tab несколько раз.

Я уже упоминал, насколько круто моя подсказка? Он дает мне все, что мне нужно в любой момент:

[TIMESTAMP] USER:CURRENT_DIRECTORY VCS:(BRANCH) $

Эта тема Oh My Zsh - geoffgarside, а моя цветовая схема в iTerm2 - Tango Dark. Посмотрите больше Цветовые схемы iTerm здесь.

Direnv

Direnv - это расширение оболочки, которое автоматически загружает переменные среды, когда вы cd в каталог.

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

Его легко установить, и еще проще написать .envrc файл, потому что это просто набор export BLAH=BLAH операторов, которые вы уже записываете в свои .profile или .*rc файлы.

Когда вы выходите за пределы каталога с файлом .envrc, он автоматически сбрасывает эти переменные ENV. Удобный!

Посмотрите это в действии ниже.

Lighthouse / Chrome DevTools

Lighthouse (с функциями, встроенными в Chrome) - это плагин с открытым исходным кодом для проверки производительности вашего сайта.

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

Это очень важно как для повышения производительности, так и для доступности веб-сайтов.

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

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

Воспользуйтесь им и посмотрите, насколько вы можете ускорить и оптимизировать свой сайт.

Примечание. Этот инструмент также можно запускать на локальных веб-серверах с помощью веб-инструментов Chrome. Cmd + Alt + I → вкладка аудита → Создать отчет.

vim-plug и MELPA Stable

Если вы заядлый пользователь Vim или Emacs, то наверняка знаете, что для обоих текстовых редакторов существует множество очень полезных плагинов, которые облегчают жизнь.

От подсветки синтаксиса до индексации символов, эти плагины могут либо добавить немного удобства, либо, по сути, превратить ваш текстовый редактор в самую интенсивную вещь со времен металлической музыки. Например, ознакомьтесь с возможностями Clojure в Emacs Live.

Vim-plug и MELPA Stable - это менеджеры плагинов для Vim и Emacs соответственно. Использование их для установки всех необходимых вам плагинов делает весь процесс бесшовным и встроенным.

нечеткий поиск из командной строки (fzf)

Нечеткий поиск из командной строки (или fzf) - это инструмент нечеткого поиска, используемый для быстрого поиска файлов в дереве каталогов. Между прочим, он написан тем же инженером, который сделал vim-plug (Junegunn Choi).

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

Чтобы лучше использовать fzf, я сопоставил эти два псевдонима в моем профиле оболочки:

alias v='nvim'
alias f='v `fzf -i`'

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

Я комбинирую его с fzf для быстрого поиска определенного файла. Результатом fzf является имя этого файла с полным путем. Затем я передаю его в качестве аргумента своему псевдониму v.

Результат? Невероятно быстрый поиск файлов и невероятно быстрое открытие файлов в Neovim. Жизнь прекрасна.

Серебряный искатель (Ag)

Серебряный искатель (Ag) - это умный, рекурсивный grep на стероидах.

Хотя fzf (см. Выше) отлично подходит для поиска имен файлов, Ag отлично подходит для поиска содержимого внутри этих файлов на предмет определенных токенов и совпадений.

Что делает его действительно замечательным и замечательным, так это то, что он автоматически игнорирует файлы, являющиеся частью вашего .gitignore файла. Если grep -r выплюнул бы кучу нерелевантных совпадений внутри вашего node_modules, у Ag невероятно быстрое время поиска, потому что он ищет только те файлы, которые имеют значение.

По умолчанию в результатах вывода Ag также указывается номер строки. Технически вы можете добиться всего, что делает Ag, предоставляя grep множество и множество аргументов, но тогда, в конце концов, Ag все еще в несколько раз быстрее - и продолжает становиться еще быстрее.

Заключение

Удачного кодирования! Спасибо за прочтение.