Articles

Arquivos

Muitos programas são configurados através de arquivos de texto simples conhecido como “dotfiles”(porque o arquivo de nomes começam com . exemplo: ~/.gitconfig para que eles arehidden na listagem de diretório ls por padrão).

muitas das ferramentas que você usa provavelmente têm um monte de configurações que podem ser sintonizadas finamente. Muitas vezes, ferramentas são personalizadas com linguagens especializadas, por exemplo, Vimscript para Vim ou a própria linguagem da shell para uma shell.personalizar e adaptar as suas ferramentas ao seu fluxo de trabalho preferido irá torná-lo mais produtivo. Aconselhamo-lo a investir tempo em Personalizar a sua ferramenta em vez de clonar os dotfiles de outra pessoa do GitHub.

provavelmente já terá alguns ‘dotfiles’ configurados. Alguns lugares para procurar:

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

Alguns programas não colocar os arquivos em sua pasta pessoal e directamente, em vez disso, colocá-los em uma pasta em ~/.config.

os ficheiros de pontos não são exclusivos das aplicações da linha de comandos, por exemplo, o leitor de vídeo MPV pode ser configurado a editar ficheiros sob ~/.config/mpv

pode aprender sobre a configuração da sua ferramenta lendo a documentação online orman pages. Outra ótima maneira é pesquisar a internet para posts de blogs sobre programas específicos, onde os autores vão lhe dizer sobre suas personalizações preferidas. Mais uma maneira de aprender sobre as soluções é olhar através dos ficheiros de pontos das outras pessoas: pode encontrar toneladas de fotografias escritas em GitHub — veja o local mais popular (aconselhamo-lo a não fazer cópias às cegas).

organização

como deve organizar os seus ficheiros de pontos? Eles devem estar em sua própria pasta, sob controle de versão, e symlink para o lugar usando um script. Isto tem os benefícios de:

  • instalação fácil: se se ligar a uma máquina nova, a aplicação das suas correcções irá demorar apenas um minuto
  • portabilidade: as suas ferramentas irão funcionar da mesma forma em todos os lugares
  • sincronização: poderá actualizar os seus ficheiros de pontos em qualquer lugar e mantê – los em sincronia por linhas
  • : você provavelmente vai ser a manutenção do seu dotfilesfor toda a sua programação carreira, e a versão da história é bom ter forlong de vida de projetos
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'

Máquina de personalizações específicas

na Maioria das vezes, você vai querer a mesma configuração em máquinas, butsometimes, você vai querer um pequeno delta em uma máquina em particular. Aqui estão algumas pistas que você pode lidar com esta situação:

ramo por máquina

Use o controle de versão para manter um ramo por máquina. Esta abordagem é ilogicamente simples, mas pode ser bastante pesado.

If statements

If the configuration file supports it, use the equivalent of if-statements toapply machine specific customizations. Por exemplo, a sua linha de comandos pode ter algo do género:

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

inclui

Se o ficheiro de configuração o suportar, faça uso de includes. Por exemplo, um ~/.gitconfig pode ter uma configuração:

 path = ~/.gitconfig_local

E, em seguida, em cada máquina, ~/.gitconfig_local pode conter máquina-specificsettings. Você pode até rastreá-los em um repositório separado configurações específicas formachine.

Esta ideia também é útil se quiser que programas diferentes partilhem algumas configurações. Por exemplo, se você quer tanto bash e zsh partilhar o mesmo conjunto de aliases você pode escrevê-los abaixo de .aliases e tem o seguinte bloco de ambos.

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

Recursos

  • o Seu instrutor dotfiles:Cês,Jon,Jose
  • GitHub não dotfiles: dotfile estruturas,utilitários, exemplos e tutoriais
  • Shell startupscripts: anexplanation de diferentes arquivos de configuração usados para o seu shell

Exercícios

  1. Crie uma pasta para os arquivos e configurar versioncontrol.

  2. adicione uma configuração para pelo menos um programa, e.g. a sua shell, com somecustomização (para começar, pode ser algo tão simples como personalizar a sua linha de comandos, definindo $PS1).

  3. configure um método para instalar os seus dotfiles rapidamente (e sem esforço manual)numa máquina nova. Isto pode ser tão simples quanto um script shell que chama ln -spara cada arquivo, ou você poderia usar uma utilidade especializada.

  4. Teste o seu programa de instalação numa máquina virtual Nova.

  5. migre todas as suas configurações de ferramentas actuais para o seu repositório de ‘dotfiles’.

  6. publique os seus ficheiros de pontos no GitHub.

edite esta página.

licenciado sob CC BY-NC-SA.