Articles

Dotfiles

mange programmer er konfigureret ved hjælp af almindelige tekstfiler kendt som “dotfiles”(fordi filnavnene begynder med en ., f.eks. ~/.gitconfig, så de erskjult i kataloglisten ls som standard).

mange af de værktøjer, du bruger, har sandsynligvis mange indstillinger, der kan tunesret fint. Ofte tilpasses værktøjer med specialiserede sprog, f.eks.

tilpasning og tilpasning af dine værktøjer til din foretrukne arbejdsgang vil gøre dig mere produktiv. Vi råder dig til at investere tid i at tilpasse dit værktøj selvsnarere end at klone andres dotfiler fra GitHub.

Du har sandsynligvis allerede oprettet nogle dotfiles. Nogle steder at se:

  • ~/.bashrc
  • ~/.emacs
  • ~/.vim
  • ~/.gitconfig

nogle programmer lægger ikke filerne direkte under din hjemmemappe, og i stedet lægger de dem i en mappe under~/.config.

Dotfiles er ikke eksklusive til kommandolinjeprogrammer, for eksempel kan MPV-videoafspilleren konfigureres til redigering af filer under~/.config/mpv

Du kan lære om dit værktøjs indstillinger ved at læse online dokumentation orman sider. En anden god måde er atsøg på internettet efter blogindlæg om specifikke programmer, hvor forfattere vilfortæl dig om deres foretrukne tilpasninger. Endnu en måde at lære omtilpasninger er at se gennem andres dotfiler: du kan finde tonsvis afdotfilesrepositorieson GitHub — se den mest populæreher (vi råder dig til ikke at blindlycopy konfigurationer selv).

organisation

hvordan skal du organisere dine dotfiles? De skal være i deres egen mappe, under versionskontrol, og symlink på plads ved hjælp af et script. Dette harfordelene ved:

  • nem installation: hvis du logger ind på en ny maskine, vil det kun tage et minut at anvende dintilpasninger
  • portabilitet: dine værktøjer fungerer på samme måde overalt
  • synkronisering: Du kan opdatere dine dotfiles hvor som helst og holde dem Allin sync
  • Change tracking: du vil sandsynligvis vedligeholde dine dotfilertil hele din programmeringskarriere, og Versionshistorik er rart at have forlangte projekter
cd ~/srcmkdir dotfilescd dotfilesgit inittouch bashrc# create a bashrc with some settings, e.g.:# PS1='\w > 'touch installchmod +x install# insert the following into the install script:# #!/usr/bin/env bash# BASEDIR=$(dirname $0)# cd $BASEDIR## ln -s ${PWD}/bashrc ~/.bashrcgit add bashrc installgit commit -m 'Initial commit'

Maskinspecifikke tilpasninger

det meste af tiden vil du have den samme konfiguration på tværs af maskiner, mennogle gange vil du have et lille delta på en bestemt maskine. Her er et par, du kan håndtere denne situation:

gren PR.maskine

brug versionskontrol til at opretholde en gren pr. maskine. Denne tilgang islogisk ligetil, men kan være temmelig tungvægt.

if-udsagn

Hvis konfigurationsfilen understøtter den, skal du bruge det tilsvarende if-udsagn tilanvend Maskinspecifikke tilpasninger. For eksempel kan din shell have nogetlignende:

if ]; then {do_something else}; fi# Darwin is the architecture name for macOS systemsif ]; then {do_something}; fi# You can also make it machine specificif ]; then {do_something}; fi

inkluderer

Hvis konfigurationsfilen understøtter det, skal du gøre brug af inkluderer. For eksempel kan en ~/.gitconfig have en indstilling:

 path = ~/.gitconfig_local

og derefter på hver maskine, ~/.gitconfig_local kan indeholde maskinspecifikindstillinger. Du kan endda spore disse i et separat lager tilmaskinspecifikke indstillinger.

denne ide er også nyttig, hvis du vil have forskellige programmer til at dele nogle konfigurationer. For eksempel, hvis du vil have begge bash og zsh for at dele det samme sæt aliaser, kan du skrive dem under .aliases og have følgende blok i begge.

# Test if ~/.aliases exists and source itif ; then source ~/.aliasesfi

Resources

  • dine instruktørers dotfiles:Anish,Jon,Jose
  • GitHub does Dotfiles: dotfile rammer,hjælpeprogrammer, eksempler og tutorials
  • Shell startupscripts: anforklaring af de forskellige konfigurationsfiler bruges til din shell

øvelser

  1. Opret en mappe til dine dotfiles og opsæt versioncontrol.

  2. Tilføj en konfiguration for mindst et program, f. eks. din skal, med nogletilpasning (for at starte, kan det være noget så simpelt som at tilpasse din skalprompt ved at indstille $PS1).

  3. Opsæt en metode til at installere dine dotfiles hurtigt (og uden manuel indsats)på en ny maskine. Dette kan være så simpelt som et shell-script, der kalder ln -sfor hver fil, eller du kan bruge en specialiseretdutilitet.

  4. Test dit installationsskript på en frisk virtuel maskine.

  5. Overfør alle dine nuværende værktøjskonfigurationer til dit dotfiles-arkiv.

  6. Offentliggør dine dotfiles på GitHub.

Rediger denne side.

licenseret under CC BY-NC-SA.