Привет, ребята! 🎉 Я — Саймон Оуэн, и на протяжении многих лет мне нравилось быть частью сообщества дотфайлов и учиться у него. Я провожу много времени, обучая разработчиков и проводя семинары. На этих сессиях демонстрация того, как я настраиваю свою среду разработки, часто является одной из вещей, которые люди ценят больше всего.
Dot-файлы являются ключевой частью моей среды разработки. Не слышали о них? Ну, даже если у вас есть, это хорошая идея, чтобы посмотреть, что они есть, и преимущества их использования.
В прошлом году я поставил перед собой цель создать сериал. Если вам понравилась эта статья и вы хотите узнать больше, подпишитесь на список рассылки и получите ссылку для скачивания. Если вам действительно это нравится, вы также можете 🦄 пожертвовать здесь! 🦄
Содержание статьи
- 1 Точка-что-файл?
- 2 Во-первых, я хочу дать реквизит сообществу dotfiles
- 3 Копание в точечных файлах
- 4 Давайте рассмотрим несколько примеров
- 4.1 Установка псевдонимов для команд по умолчанию (.aliases)
- 4.2 Создание настраиваемой подсказки bash для личного контакта с терминалом (.bash_prompt)
- 4.3 Создание ярлыков Git для ускорения коммитов (.gitconfig)
- 4.4 Автоматизация типовых домашних заданий (brew.sh)
- 4.5 Защитите свои учетные данные Git (.extra)
- 4.6 Написание пользовательских функций для задач (.functions)
- 4.7 Укажите свой $ PATH и оставьте приватным (.path)
- 4.8 Заставить Vim использовать определенную тему (.vimrc)
- 4.9 Бонус: полезные рецепты терминала для macOS
- 5 Заключение
Точка-что-файл?
Если вы впервые слышите о точечных файлах, совершенно неясно, кто они и чем занимаются. Я вспоминаю, что мне потребовалось немало времени, прежде чем я понял, что точечный файл — это просто файл с точкой перед именем файла!
Существует два распространенных примера файлов точек. Во-первых, те, с которыми вы, возможно, уже знакомы, часто встречаются в корне многих проектов с открытым исходным кодом — например, .editorconfig
содержит настройки редактора кода, помогающие поддерживать согласованные стили кодирования для проекта. Возможно, вы также видели, как .stylelintrc
и .eslintrc
плавали вокруг, устанавливая правила CSS и JavaScript соответственно.
Вторые (и те, которые мы рассматриваем сегодня) — это точечные файлы, которые могут находиться на корневом уровне пользовательского каталога (то есть / Users /
). Одним из таких точечных файлов является .aliases
который содержит команды с именованными именами, которые могут ускорить работу в терминале. Другой — .bash_prompt
который используется для изменения $
в Терминале на что-то более веселое. В моем случае я настроил это так, что этот чувак всплывает, чтобы заставить меня улыбаться, когда все становится сложнее:
༼ つ ◕_◕ ༽ つ
Надеюсь, вы уже начинаете понимать, насколько полезными могут быть файлы точек. Они похожи на скрытые драгоценные камни (буквально, поскольку они по умолчанию скрыты от представлений), которые открывают сверхспособности для вашей машины, чтобы помочь в разработке. Среди прочего, мы говорим об автоматизации, оптимизации и эффективных рабочих процессах.
Во-первых, я хочу дать реквизит сообществу dotfiles
Прежде чем мы углубимся в точечные файлы, стоит вспомнить, насколько велико сообщество, стоящее за ними. Когда я впервые разобрался с репозиторием дотфайла Пола Айриша, там происходило многое, чего я не понимал. Матиас Биненс и Пол Айриш очень помогли мне, ответив на вопросы о кодексе, и именно их готовность помочь послужила одной из причин, по которой я увлекся как концепцией, так и сообществом.
Иногда я публикую в сообществе что-то, что я хотел бы автоматизировать, но не могу понять это ради своей жизни. И я обязательно получу полезный ответ. Пример: Эрик Чарни написал приложение для меня, чтобы автоматизировать мои настройки Spectacle, а Матиас также предоставил фрагмент кода. Насколько это круто ?!
Тогда есть такие вещи, как обновления MacOS. Сообщество dotfiles часто находится на вершине этого и предоставляет полезные советы по комментариям GitHub относительно всего, что больше не работает, или другой полезной информации. Затем вы можете соответствующим образом изменить свои точечные файлы, например, добавив следующий код, который повышает качество звука для наушников / гарнитур Bluetooth:
по умолчанию write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
Копание в точечных файлах
Пример кода выше может показаться вам немного знакомым. Он похож на тот, который часто используется для отображения скрытых файлов:
по умолчанию написать com.apple.finder AppleShowAllFiles -bool true
… или этот, чтобы добавить пробелы в док:
по умолчанию write com.apple.dock persistent-apps -array-add '{"tile-type" = "spacer-tile";}'; док Киллолл
Эти команды могут быть вставлены непосредственно в Терминал. Как и следовало ожидать, что-то вроде -bool true
изменит логическое значение с false
на true
и сбросит команду для дальнейшего использования.
Если вы мне нравитесь и у вас много этих команд, то именно здесь файл .macos
(ранее .osx
) становится особенно полезно. Вместо того, чтобы копировать и вставлять каждую команду по отдельности, мы можем автоматизировать и запускать их все за один раз.
Давайте рассмотрим несколько примеров
В дотфайлах можно сделать так много классных вещей. Вот несколько примеров практического использования, на которые я полагаюсь в своей повседневной работе.
Установка псевдонимов для команд по умолчанию (.aliases)
Навигация между каталогами в терминале может быть громоздкой, и легко потеряться в безумии cd
.
Мы можем заменить стандартную команду «изменить каталог» ( cd
) настраиваемой командой в точечном файле .aliases
. Например, используйте этот псевдоним для удаления из префикс cd
вообще при использовании команды cd ..
для перемещения вверх по каталогу в пользу ..
.
alias .. = "cd .."
Конечно, это всего лишь две буквы, но насколько легче это запомнить?
Мы можем сделать то же самое, чтобы сделать ярлыки для некоторые каталоги:
alias dl = "cd ~ / Downloads"
Или создайте псевдонимы для сокращенных командных задач:
alias hs = "hexo serve"
О, вот еще один! Список только каталогов:
alias lsd = "ls -lF $ {colorflag} | grep --color = never '^ d'"
Создание настраиваемой подсказки bash для личного контакта с терминалом (.bash_prompt)
Я упоминал об этом немного раньше, но вот как я превратил мою подсказку bash ( $
) в маленького чувака, который выглядит намного интереснее. Это делается непосредственно в точечном файле .bash_prompt
.
PS1 = "༼ つ ◕_◕ ༽ つ"
Создание ярлыков Git для ускорения коммитов (.gitconfig)
Мы можем сделать несколько более эффективной фиксацию всех изменений сразу в точечном файле .gitconfig
. Использование ca
гораздо более сжато, чем ! Git add -A && git commit -av
.
ca =! Git add -A && git commit -av
Еще один удобный ярлык: поиск коммитов по сообщению коммита.
fm = "! F () {git log --pretty = format: '% C (желтый)% h% Cblue% ad% Creset% s% Cgreen [%cn]% Cred% d' - decorate --date = short --grep = $ 1;}; f "
Автоматизация типовых домашних заданий (brew.sh)
Использовать Homebrew для управления пакетами? Хотя Homebrew не является точечным файлом (у него нет точки перед именем файла), он предоставляет нам файл сценария оболочки brew.sh
. Этот файл автоматизирует установку и управление приложениями и инструментами:
brew install git
варево установить дерево
заварить бочку установить Google-Chrome
заварить бочку установить iterm2
brew cask install sublime-text
Защитите свои учетные данные Git (.extra)
Спрятать информацию, которую вы не хотите публично делить, в одном файле в частном репозитории и перенести ее для себя. Например, хорошей идеей для этого файла является то, что специфично для вас, например, ваши учетные данные Git. Это предотвратит клонирование людей, запуск ваших точечных файлов и последующую фиксацию как вы!
# Учетные данные Git
# Не в репозитории, чтобы предотвратить случайный коммит людей под моим именем
GIT_AUTHOR_NAME = "Саймон Оуэн"
GIT_COMMITTER_NAME = "$ GIT_AUTHOR_NAME"
git config --global user.name "$ GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL = ""
GIT_COMMITTER_EMAIL = "$ GIT_AUTHOR_EMAIL"
git config --global user.email "$ GIT_AUTHOR_EMAIL"
Написание пользовательских функций для задач (.functions)
Dot-файлы — это больше, чем ярлыки и псевдонимы. Мы также можем создавать пользовательские функции в .functions
которые делают более продвинутый подъем. Например, создайте новый каталог и измените каталог на него:
function mkd () {
mkdir -p "$ @" && cd "$ _";
}
Или мы можем открыть определенное место в Finder с помощью однобуквенная команда ( o
):
function o () {
если [ $#-eq 0 ]; затем
открыть .;
еще
открыть "$ @";
Fi;
}
Укажите свой $ PATH и оставьте приватным (.path)
$ PATH
позволяет запускать исполняемые файлы. Вместо того, чтобы переходить к каждому пути вручную в Терминале, здесь мы можем установить пути к файлам, чтобы они могли напрямую запускать исполняемые файлы. Возможно, этот файл содержит конфиденциальную информацию. Таким образом, этот файл часто хранится в закрытом репо.
Вот пример добавления ~ / utils
к $ PATH
:
export PATH = "$ HOME / utils: $ PATH"
Заставить Vim использовать определенную тему (.vimrc)
Конфигурационные файлы редактора отлично подходят для обеспечения согласованного форматирования между проектами, но мы также можем указать редактору Vim использовать определенную тему в файле .vimrc
:
«Используйте тему« Соляризованная тьма »
установить фон = темный
солярия
let g: solarized_termtrans = 1
Бонус: полезные рецепты терминала для macOS
Хорошо, вот небольшой бонус для пользователей Mac, который не связан с точечными файлами, но есть вещи, которые мы можем сделать в Терминале, чтобы дать суперспособностям macOS делать довольно удивительные вещи, которые делают повседневное использование немного проще и приятнее.
Во-первых, мы можем показать скрытые файлы по умолчанию в Finder, чтобы точечные файлы были видны постоянно, набрав это в Терминале:
по умолчанию написать com.apple.finder AppleShowAllFiles -bool true
Найти способ, которым полосы прокрутки включаются и выключаются в Finder jarring? Давайте сделаем их видимыми всегда:
по умолчанию пишут NSGlobalDomain AppleShowScrollBars -string «Всегда»
По умолчанию macOS проверяет наличие обновлений программного обеспечения один раз в неделю. Но, может быть, мы хотим проверять один раз в день или с другим интервалом:
по умолчанию write com.apple.SoftwareUpdate ScheduleFrequency -int 1
Вы знаете, как нажатие клавиши клавиатуры повторяет этот символ? Ну, это повторяется с определенной скоростью, которую мы можем перезарядить до невероятно быстрой:
по умолчанию пишут NSGlobalDomain KeyRepeat -int 0
Некоторым людям нравится, что macOS включает тень от окна при создании снимка экрана с окном. Другие не делают. Вот как это отключить:
по умолчанию write com.apple.screencapture disable-shadow -bool true
И, в этом примере, мы можем автоматизировать размер значков в Dock:
по умолчанию напишите com.apple.dock tileize -int 36
Это только вершина айсберга! В моих сериалах я рассказываю о более чем ста из них.
Заключение
Веб-разработка со временем усложняется. У всех нас есть способы сделать наш процесс разработки немного проще и комфортнее, исходя из личных предпочтений.
Вы можете быть опытным разработчиком и знать о таких вещах, как Node, npm и Git, но все же застряли в окне терминала с кучей ошибок. Или, возможно, вы начинаете и обнаруживаете, что эти и другие инструменты сложны и трудны для понимания.
В любом случае, мы надеемся, что, зная больше о точечных файлах и их возможностях, вы получите новое оружие в вашем арсенале, позволяющее адаптировать среду разработки под себя, ускорить рабочий процесс и добавить в машину суперспособности!
В качестве напоминания моя серия скринкастов даст вам больше советов и подсказок, а также хорошее представление о том, как настроить вашу среду разработки. Это первый в серии. В дальнейшем я расскажу об этом подробнее, поэтому, пожалуйста, дайте мне знать, если вы хотите, чтобы я что-то еще осветил!