Mit Dotfiles für die Verwaltung der Entwicklung und Viele Andere Magische Dinge

0
35

Howdy folks! 🎉 Ich bin Simon, Owen, und im Laufe der Jahre, ich habe es geliebt, ein Teil von und das lernen aus der dotfiles Gemeinschaft. Ich verbringe viel Zeit mit dem unterrichten Entwickler und running workshops. In diesen Sitzungen, die zeigen, wie ich meine Entwicklungsumgebung ist oft eine der Sachen, die die Leute am meisten geschätzt.

Dotfiles sind ein wesentlicher Teil meiner Entwicklungsumgebung. Noch nicht von Ihnen gehört? Gut, auch wenn Sie haben, ist es eine gute Idee, zu Fuß durch das, was Sie sind, und die Vorteile der Verwendung von Ihnen.

Im letzten Jahr habe ich mir ein Ziel gesetzt, erstellen Sie einen screencast Serie. Wenn Sie diesen Artikel mögen und möchten, um mehr zu erfahren, abonnieren Sie bitte die mailing-Liste und erhalten Sie den download-link. Wenn Sie es wirklich mögen, können Sie auch 🦄 Spenden Sie hier! 🦄

Ein Punkt-was-Datei?

Wenn Sie das hören dotfiles zum ersten mal, es ist völlig in Ordnung zu sein, verwirrt über das, was Sie sind und was Sie tun. Ich erinnere mich, dass es mir dauerte eine beträchtliche Zeit, bevor ich erkannte, ein dotfile ist einfach eine Datei, die einen Punkt vor dem Datei-Namen!

Es gibt zwei gängige Beispiele von dotfiles. Erstens, diejenigen, die Sie möglicherweise bereits vertraut sind diejenigen, die oft an der Wurzel der vielen open-source-Projekte — zum Beispiel .editorconfig enthält code-editor-Einstellungen zu helfen, halten konsistente Codierung Stile für ein Projekt. Sie können auch gesehen haben .stylelintrc und .eslintrc im Umlauf, die CSS-und JavaScript-Regeln, beziehungsweise.

Zweite (und die, die wir heute sehen), sind dotfiles, kann live auf der root-Ebene des Benutzer-Verzeichnis (z.B. /Users/<Benutzername> ). Eine solche dotfile ist .Aliase, enthält benutzerdefinierte benannte Befehle, die beschleunigen kann, im Terminal arbeiten. Ein anderes ist .bash_prompt, die verwendet wird, ändern Sie die $ im Terminal etwas ein wenig mehr Spaß. In meinem Fall habe ich es so einrichten, dass dieser Kerl auftaucht, machen mich zum lächeln, wenn es schwierig wird:

༼ つ ◕_◕ ༽つ

Hoffentlich bist du schon mal einen guten Einblick, wie nützlich dotfiles werden kann. Sie sind so in der Art wie versteckte Juwelen (buchstäblich, da sind Sie versteckt vor der Aussicht, das standardmäßig entsperren Supermächte für Ihre Maschine zu helfen, mit der Entwicklung. Wir reden über Automatisierung, Optimierung und effiziente Abläufe, unter anderem.

Zuerst möchte ich geben props an die dotfiles-community

Bevor wir Graben in dotfiles, es lohnt sich, den Aufruf heraus, wie groß die community hinter Ihnen steht. Wenn ich erste Gabel-Paul Irish ist dotfile repo, es war eine Menge Los dort, die ich nicht verstanden. Mathias Bynens und Paul Irish half mir ungemein, durch die Beantwortung von Fragen über den code, und es war Ihre Bereitschaft, zu helfen, diente als einer der Gründe wurde ich gezogen, um sowohl das Konzept als auch die Gemeinschaft.

Manchmal werde ich etwas zu der Gemeinschaft, die würde ich gerne automatisieren, aber es kann nicht herausfinden, für das Leben von mir. Und, ohne scheitern, ich werde eine hilfreiche Antwort. Case in point: Eric Czarny schrieb eine app für mich zum automatisieren von meinem Schauspiel-Einstellungen und Mathias trug auch ein code-snippet. Wie cool ist das?!

Dann gibt es Dinge wie macOS-updates. Die dotfiles Gemeinschaft ist oft auf der Oberseite von diesem und geben nützliche Ratschläge auf GitHub Kommentare in Bezug auf alles, was nicht mehr funktioniert oder andere nützliche Informationen. Sie können dann zu ändern, Ihre dotfiles entsprechend, wie das hinzufügen von den folgenden code, der erhöht die Klangqualität für die Bluetooth-Kopfhörer/headsets:

defaults write com.apple.BluetoothAudioAgent “Apple Bitpool Min (editable)” -int 40

Graben in dotfiles

Das code-Beispiel oben ist vielleicht etwas bekannt vorkommen. Es ist entlang den gleichen Linien wie dieses oft verwendete man versteckte Dateien anzeigen:

defaults write com.apple.finder AppleShowAllFiles -bool true

…oder dieses mit hinzufügen von Leerzeichen am dock:

defaults write com.apple.dock persistent-apps -array-add ‘{“tile-type”=”spacer-tile”;}’; killall Dock

Diese Befehle eingefügt werden kann direkt in das Terminal. Wie Sie vielleicht erwarten, so etwas wie-bool true “ändern, wird ein boolean Wert von “false” auf true und setzen Sie den Befehl für die spätere Verwendung.

Wenn Sie ‘ wie ich und haben eine Menge dieser Befehle verwenden, dann ist dies, wo die .macos (bisher .osx) dotfile wird besonders nützlich. Anstatt von kopieren und einfügen jeder Befehl einzeln, können wir automatisieren und führen Sie alle von Ihnen.

Betrachten wir nun einige Beispiele

Es gibt so viele tolle Dinge, die wir tun können in dotfiles. Hier sind einige praktische Anwendungsfälle, die ich brauche, für mein Tag-zu-Tag Arbeit.

Einstellung Aliase für die Standard-Befehle (.Aliase)

Die Navigation zwischen Verzeichnissen in das Terminal kann umständlich sein, und es ist leicht, sich zu verirren in cd-Wahnsinn.

Wir können ersetzen Sie die standard – “change directory” (cd) – Befehl mit einer benutzerdefinierten Befehl in der .Aliase dotfile. Zum Beispiel, verwenden Sie diesen alias zu Graben, die cd-Präfix zusammen, wenn Sie mit dem Befehl cd .. zu bewegen, ein Verzeichnis zu Gunsten von .. von selbst.

alias ..=”cd ..”

Sicher, es ist nur das fallen von zwei Buchstaben, aber wie viel leichter ist, sich zu erinnern?

Wir können das gleiche tun, um Verknüpfungen zu bestimmten Verzeichnissen:

alias dl=”cd ~/Downloads”

Oder erstellen Sie Aliase für Kurzschrift-Befehl Aufgaben:

alias hs=”hexo dienen”

Oh, hier ist noch einer! Liste nur die Verzeichnisse:

alias lsd=”ls -lF ${colorflag} | grep –color=never ‘^d'”
Machen Sie eine benutzerdefinierte bash-Eingabeaufforderung für eine persönliche Note zu dem Terminal (.bash_prompt)

Ich referenzierte dies ein wenig früher, aber hier ist, wie ich drehte meinen bash-prompt ($) in einen kleinen Kerl, der viel mehr Spaß, es zu betrachten. Dies geschieht direkt in der .bash_prompt dotfile.

PS1=”༼ つ ◕_◕ ༽つ”
Erstellen Git shortcuts zu beschleunigen, verpflichtet (.gitconfig)

Wir können machen es ein wenig effizienter zu verpflichten, alle änderungen auf einmal in der .gitconfig dotfile. Mit ca ist viel präziser als !git add -A && git commit -av .

ca = !git add -A && git commit -av

Weitere Abkürzung: finden Sie begeht, durch die commit-Nachricht.

fm = “zu!f() { git log –pretty=format:’%C(yellow)%h %Cblue%ad %Creset%s%Cgreen [%cn] %Cred%d’ – schmücken –date=short –grep=$1; }; f”
Automatisierung häufiger Homebrew-Aufgaben (brew.sh)

Nutzen Homebrew für die Paketverwaltung? Obwohl nicht unbedingt ein dotfile (es muss nicht ein Punkt vor dem Dateinamen), Homebrew gibt uns die brew.sh shell-Skript-Datei. Diese Datei automatisiert die installation und Verwaltung von Apps und-Tools:

brew install git
brew installieren Baum
brew cask install google-chrome
brew cask install iterm2
brew cask install sublime-text
Schützen Sie Ihre Git-Anmeldeinformationen (.extra)

Informationen ausblenden, die Sie nicht öffentlich bekannt geben möchten, in einer Datei in ein eigenes repo und bringen es für Sie allein. Zum Beispiel, eine gute Idee für diese Datei ist alles, was Sie, wie Ihr Git-Anmeldeinformationen. Dies wird verhindern, dass Menschen zu Klonen, läuft Ihre dotfiles, dann Begehen Sie!

# Git Anmeldeinformationen
# Nicht im repository, um zu verhindern, dass Menschen aus versehen zu Begehen, unter meinem Namen
GIT_AUTHOR_NAME=”Simon Owen”
GIT_COMMITTER_NAME=”$GIT_AUTHOR_NAME”
git config –global user.name “$GIT_AUTHOR_NAME”
GIT_AUTHOR_EMAIL=”<FÜGEN SIE IHRE E-MAIL-HIER>”
GIT_COMMITTER_EMAIL=”$GIT_AUTHOR_EMAIL”
git config –global user.E-Mail – “$GIT_AUTHOR_EMAIL”
Schreiben von benutzerdefinierten Funktionen für die Aufgaben (.Funktionen)

Dotfiles sind mehr als Abkürzungen und Aliase. Wir können auch benutzerdefinierte Funktionen .Funktionen, die fortgeschrittene heben. Zum Beispiel, erstellen Sie ein neues Verzeichnis und wechseln Sie in das Verzeichnis:

Funktion mkd() {
mkdir -p “$@” && cd “$_”;
}

Oder wir können Sie öffnen einer bestimmten Speicherort im Finder mit einem ein-Buchstaben-Befehl (o):

function a() {
if [ $#-eq 0 ]; then
öffnen .;
sonst
öffnen Sie “$@”;
fi;
}
Geben Sie Ihre $PATH-und privat halten (.Pfad)

$PATH erlaubt das ausführen von ausführbaren Dateien. Statt die Navigation zu einzelnen Pfad manuell im Terminal, hier können wir die Pfade der Dateien, so dass Sie können ausführen, die ausführbaren Dateien direkt. Es könnte der Fall sein, dass diese Datei enthält sensible Informationen. Als solche, diese Datei ist oft gehalten, in einem privaten repo.

Hier ist ein Beispiel für das hinzufügen einer ~/utils $PATH:

export PATH=”$HOME/utils:$PATH”
Kraft Vim zu einem bestimmten Thema (.vimrc)

Editor die config-Dateien sind ideal für die Gewährleistung der konsistenten Formatierung über Projekte, aber wir können auch sagen, ein Vim-editor zu verwenden, ein bestimmtes Thema in einem .vimrc-Datei:

“Verwenden Sie die Solarized Dark theme
set background=dark
colorscheme solarized
sei g:solarized_termtrans=1
Bonus: Hilfreich Terminal Rezepte für macOS

OK, also hier ein bisschen einen bonus für Mac-Anwender, dass es nichts mit dotfiles, aber das sind Dinge, die wir tun können, in das Terminal zu geben, macOS Supermächte zu tun ziemlich genial Dinge, die für Tag-zu-Tag verwenden, ein wenig leichter und angenehmer.

First off, können wir zeigen, versteckte Dateien standardmäßig im Finder so dotfiles sind sichtbar, alle mal, indem Sie diese in das Terminal:

defaults write com.apple.finder AppleShowAllFiles -bool true

Finden Sie die Weise, die scrollbars ein-und ausschalten ” im Finder rütteln? Wir machen Sie sichtbar, zu allen Zeiten:

defaults write NSGlobalDomain AppleShowScrollBars -string “Immer”

Standardmäßig macOS überprüfung auf software-updates einmal pro Woche. Aber vielleicht wollen wir prüfen, einmal täglich oder in einem anderen Intervall:

defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1

Sie wissen, wie Sie halten auf der Tastatur eine Taste wiederholt, dass der Charakter? Gut, es wiederholt sich bei einer festgelegten Geschwindigkeit, die wir optimieren, um rasend schnell:

defaults write NSGlobalDomain KeyRepeat -int 0

Einige Leute Liebe die Art, wie macOS enthält eine box-shadow, wenn man einen screenshot eines Fensters. Andere nicht. Hier ist, wie Sie es aus:

defaults write com.apple.screencapture disable-shadow -bool true

Und, in diesem Beispiel, können wir automatisieren die Größe der icons im Dock:

defaults write com.apple.dock kachelgroesse -int 36

Dies ist nur die Spitze des Eisbergs! In meiner screencast-Serie gehe ich auf mehr als hundert von Ihnen.

Fazit

Web-Entwicklung ist immer mehr kompliziert, wie die Zeit vergeht. Wir haben alle Möglichkeiten, unsere Entwicklung workflow ein wenig einfacher und komfortabler basierend auf persönlichen Vorlieben.

Vielleicht sind Sie ein erfahrener Entwickler und bewusst solche Dinge wie Node, npm und Git aber immer noch finden sich stecken in einem Terminal-Fenster mit ein paar Fehlern. Oder, Sie könnte beginnen und finden, diese und andere tools, die Komplex und schwer zu fassen.

So oder so, hoffentlich mehr wissen über dotfiles und was Sie tun in der Lage Ihnen eine neue Waffe in Ihrem arsenal, um Ihre Umgebung für die Entwicklung, zugeschnitten auf Sie, beschleunigen Sie Ihren workflow und geben Sie Ihre Maschine Hinzugefügt Superkräfte!

Als Erinnerung, meiner screencast-Serie geben Ihnen weitere Tipps und tricks, plus eine gute Idee, wie Sie Ihre Entwicklungsumgebung einrichten. Dies ist der erste in der Reihe. Vorwärts, ich werde mal schauen ausbau auf es, also bitte lassen Sie mich wissen, wenn es etwas gibt, was Sie möchten, mich zu decken!