Недавно я сделал 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.