Articles

Dotfiles

Mange programmer er konfigurert ved hjelp av rene tekstfiler kjent som «dotfiles»(fordi filnavnene begynner med en ., f.eks. ~/.gitconfig, slik at de er skjult i katalogoppføringen ls som standard).

mange av verktøyene du bruker har sannsynligvis mange innstillinger som kan innstilles ganske fint. Ofte er verktøy tilpasset med spesialiserte språk,For Eksempel Vimscript For Vim eller skallets eget språk for et skall.

Tilpassing og tilpasning av verktøyene til din foretrukne arbeidsflyt vil gjøre deg mer produktiv. Vi anbefaler deg å investere tid i å tilpasse verktøyet selvheller enn å klone andres dotfiler fra GitHub.

du har sannsynligvis noen dotfiles satt opp allerede. Noen steder å se:

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

noen programmer legger ikke filene under hjemmemappen din direkte, og i stedet legger de dem i en mappe under~/.config.

Dotfiles er ikke eksklusivt for kommandolinjeprogrammer, for eksempel MPV videospiller kan konfigureres redigere filer under ~/.config/mpv

du kan lære om verktøyets innstillinger ved å lese online dokumentasjon orman sider. En annen fin måte er åsøk på internett for blogginnlegg om bestemte programmer, der forfattere vilfortell deg om deres foretrukne tilpasninger. Enda en måte å lære omtilpasninger er å se gjennom andres dotfiles: du kan finne tonnevis avdotfilesrepositorieson GitHub-se den mest populæreher (vi anbefaler deg ikke å blindlycopy konfigurasjoner skjønt).

Organisasjon

Hvordan skal du organisere dotfiles? De bør være i sin egen mappe, under versjonskontroll, og symlinked på plass ved hjelp av et skript. Dette harfordelene ved:Hvis du logger Deg på en ny maskin, bruke yourcustomizations vil bare ta et minutt

  • Portabilitet: verktøyene vil fungere på samme måte overalt
  • Synkronisering: Du kan oppdatere dotfiles hvor som helst og holde dem allin sync
  • Endringssporing: du kommer sannsynligvis til å opprettholde dotfilesfor hele programmeringskarrieren din, og versjonshistorikk er fint å ha forlange levede prosjekter
  • 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'

    maskinspesifikke tilpasninger

    Mesteparten av tiden vil du ha samme konfigurasjon på tvers av maskiner, mennoen ganger vil du ha et lite delta på en bestemt maskin. Her er en coupleways du kan håndtere denne situasjonen:

    Gren per maskin

    Bruk versjonskontroll for å opprettholde en gren per maskin. Denne tilnærmingen islogically grei, men kan være ganske tungvekt.

    hvis setningene

    hvis konfigurasjonsfilen støtter den, kan du bruke tilsvarende if-setningene til å tilpasse maskinen. For eksempel kan skallet ditt ha somethinglike:

    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

    Includes

    hvis konfigurasjonsfilen støtter det, gjør bruk av includes. For eksempel kan en ~/.gitconfig ha en innstilling:

     path = ~/.gitconfig_local

    Og deretter på hver maskin, ~/.gitconfig_localkan inneholde maskinspesifikke innstillinger. Du kan til og med spore disse i et eget depot formachine-spesifikke innstillinger.

    denne ideen er også nyttig hvis du vil at forskjellige programmer skal dele noen konfigurasjoner. For eksempel hvis du vil at både bash og zshfor å dele det samme settet med aliaser, kan du skrive dem under.aliases og ha følgende blokk i begge.

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

    Ressurser

    • instruktørens dotfiles:Anish,Jon,Jose
    • GitHub gjør Dotfiles: dotfile rammer,verktøy, eksempler og opplæringsprogrammer
    • Shell startupscripts: anexplanation av de forskjellige konfigurasjonsfilene som brukes til skallet ditt
    • /li>

    øvelser

    1. opprett en mappe for dotfilene dine og sett opp versioncontrol.

    2. Legg til en konfigurasjon for minst ett program, f. eks. skallet ditt, med somecustomization (for å starte, kan det være noe så enkelt som customizingyour shell prompt ved å sette $PS1).

    3. Sett opp en metode for å installere dotfiles raskt (og uten manuell innsats)på en ny maskin. Dette kan være så enkelt som et shell script som kaller ln -s for hver fil, eller du kan bruke en specializedutility.

    4. Test installasjonsskriptet ditt på en ny virtuell maskin.

    5. Overfør alle dine nåværende verktøykonfigurasjoner til dotfiles-depotet ditt.

    6. Publiser dotfilene dine på GitHub.

    Rediger denne siden.

    Lisensiert UNDER CC BY-NC-SA.