Недавно я сделал 1000 коммитов в свои dotfiles и решил отметить это событие, постепенно открывая их. Неожиданная ностальгия пришла при просмотре журнала git 2-летней давности; рабочий процесс революционизировал шаблоны, знания и инструменты, вместо которых я хотел бы поделиться здесь.

Справедливое предупреждение: это скорее моя «философия», чем список 10 лучших инструментов, которые изменят вашу жизнь!™ Хотя я не против такого списка, это займет у меня много времени. бесконечное время, чтобы написать и устаревать, если я закончу, поэтому ¯\(ツ)/¯.

Управляйте исходным кодом и экспериментируйте со своим рабочим процессом.

Я утверждаю, что если вы обнаружите, что инструмент сложно установить и/или настроить, вы не захотите учиться его использовать — если вообще вообще захотите. Возьмем, к примеру, Karabiner: несмотря на то, что с его помощью очень легко переназначить клавиши на клавиатуре, он имеет утомительный интерфейс и сложный файл конфигурации — мне не хочется настраивать его на каждой машине, которую я использую. . Это позор, так как я обнаружил, что переназначение Caps-Lock действительно дополняет мой рабочий процесс. К счастью для нас, файлы конфигурации можно хранить под контролем исходного кода, что означает:

  • Мы можем настроить инструменты один раз и копировать конфигурацию везде.
  • Мы можем позволить себе экспериментировать с различными настройками, разветвляя, объединяя и откатывая изменения по мере необходимости.
  • Переназначение клавиши Caps-Lock становится проще!

По моему опыту, эксперименты и практика помогают отличить экспертов от промежуточных звеньев. Я не претендую на звание «эксперта командной строки», но я знаю, что безопасность последовательного, но развивающегося рабочего процесса повысила мою личную продуктивность; Замена неуклюжих IDE/GUI на маленькие, острые инструменты стала моим забавным хобби (на самом деле).

Это хобби стало еще проще с помощью Доморощенного. Я веду Brewfile, в котором перечислены все инструменты и приложения, которые я использую. Благодаря $ brew bundle --global устранены трудности и трения, связанные с синхронизацией инструментов между машинами. Излишне говорить, что это побуждает меня экспериментировать и изучать больше инструментов, так что цикл продолжается.

Плагины могут помочь вам учиться.

Я активно использую ZShell, Tmux и Vim; комплексный, но сложный в освоении набор инструментов. Своим внедрением я обязан плагинам с открытым исходным кодом, поскольку они дали мне быстрое удовлетворение, необходимое для их изучения.

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

Заточите нож.

Шеф-повар не стал бы резать мясо тупым ножом — это было бы и опасно, и контрпродуктивно. Подобно поварам, мы тоже должны точить ножи; помня о нашем рабочем процессе и исключая любые несущественные нажатия клавиш или щелчки мыши. Проще говоря, dotfiles для разработчиков то же, что нож для шеф-повара.

Плагины достаточного количества метафор — это здорово, но далеко не все. Они абстрагируют основной инструмент от вас, что означает:

  • Если ваш плагин сломается, вы не продвинетесь намного дальше, чем новый стартер (я терпел привязку ключа ZSH намного дольше, чем должен был), и
  • Плагин оптимизирован для рабочего процесса автора плагина, а не для вашего собственного. Поэтому мы должны научиться отражать.

Теперь я не говорю станьте разработчиком плагинов, но я говорю думай как разработчик. Если вы похожи на меня (или любого другого разработчика), вы, вероятно, будете вводить много команд в оболочку. Какие из них вы используете чаще всего? Какие из них болезненно использовать? Сам я использую Docker, я большой фанат Docker, но этот интерфейс командной строки… здесь нужно слишком много печатать. Но оказывается, что компьютеры хороши в автоматизации — они могут выполнять скучную печать быстрее, чем мы когда-либо могли:

Самая маленькая единица автоматизации, которую я нашел, и действительно самый быстрый способ заточить любой нож — это скромная команда alias. Вместо того, чтобы набирать $ docker ps -aqf "status=exited" | xargs docker rm, этот один лайнер позволяет мне набирать $ dkrmoc, мнемонику для docker remove old containers — сохранение 42 символов. Это очень удачно, так как мне нравится отсутствие RSI.

По мере того, как вы научитесь анализировать и автоматизировать свой рабочий процесс, вы неизбежно достигнете точки, когда ванильного удара будет недостаточно. Это момент, когда нужно начать поиск homebrew программ CLI для переноса внутрь функций (вот Пример CLI AWS: я никогда не хочу работать в Консоли AWS) . Просто не забудьте зафиксировать все новые блестящие игрушки, которые вы найдете, в.Brewfile.

Итак… действительно ли нам нужна мышь?

Инвестируйте в оконный менеджер, избегайте мыши.

Сколько раз в день вы нажимаете Alt+Tab? Пользователи, хорошо разбирающиеся в клавиатуре, любят эту комбинацию, так как могут переключаться между нашими открытыми приложениями, даже не отрывая рук от клавиатуры, но мы можем добиться большего.

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

Я делаю это через оконный менеджер macOS под названием Mjolnir — только не спрашивайте меня, как это произносится! Его легко настроить и дополнительно расширить с помощью плагинов; Я также использую его для изменения размера и разворачивания окон.

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

Примите несовершенство.

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

  • К какому сочетанию клавиш мне следует привязаться?
  • Есть ли лучшее сочетание клавиш?
  • Использую ли я правильный подключаемый модуль?
  • Есть ли лучший плагин?
  • Я использую слишком много плагинов?
  • Что другие люди подумают о моей установке?
  • et. al.

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

По мере развития вашего рабочего процесса, инструментов и стиля; то же самое будет и с вашими точками. В этом отношении они постоянно преходящи, цифровое расширение вас самих, которое думает о том, «что я делаю?» в отличие от «как мне это сделать?». Совершенство — враг продуктивности. На написание этого поста у меня ушло 6 месяцев.

Иди точками.

Если вы дочитали до этого места - спасибо, что развлекли меня! Я не могу представить, что это было весело читать, если только вы не заинтересованы в рабочем процессе, производительности и/или инструментах (я случайно

все 3). Если вы новичок во всем этом, я надеюсь, что это побудит вас продолжать экспериментировать и даст возможность взглянуть на хорошо проторенный путь (ваша производительность взлетит до небес!).

Если вы все это знаете, а я не предложил вам ничего нового… Я получаю огромное удовольствие от того, что делюсь этим материалом с менее опытными коллегами. Вы можете нести ответственность за «ага!» в тот момент, когда кто-то получает интерфейс командной строки и тем самым отправляется в собственное приключение с dotfile. Может быть, вы могли бы поделиться своими советами? Может быть, вы могли бы… поделиться этой статьей?

$ shameless_plug && exit

Первоначально опубликовано на https://www.kieranbamforth.me.