Skip to content

asrmarco13/dotfiles

Repository files navigation

Dotfiles

License: GPL3 Latest commit Open Issues Stars Watchers

Indice

  1. Introduzione
  2. Cosa è VIM
  3. Lista plugin
  4. Cosa è ZSH
  5. Lista plugin oh my zsh
  6. Automatizzare la creazione e gestione dei dotfiles
  7. Configurare VIM e ZSH
  8. FAQ
  9. Conclusione

Introduzione

I dotfiles sono usati per personalizzare il nostro sistema operativo, in pratica essi contengono i setup preferiti del nostro computer o dei nostri applicativi che possiamo utilizzare più volte su una o più macchine diverse. Il nome deriva dai file di configurazione nei sistemi Unix-like che iniziano con un punto (es. il file di configurazione di git chiamato " .gitconfig "). Questo repository configura VIM e ZSH con tutti i plugin usati da me in ambiente Ubuntu Desktop, Server e Arch Linux.

Cosa è VIM

VIM (Vi Improved) nasce per fornire una versione migliorata del famoso editor di testo VI. È open source e multipiattaforma.

A partire dalla versione 6 sono state introdotte una serie di funzionalità che vanno dai plugin al controllo della sintassi e l'auto completamento per i maggiori linguaggi di programmazione. VIM è diventato con gli anni un vero e proprio tool di sviluppo ed è uno dei più usati al mondo dagli sviluppatori.

Lista plugin

Di seguito la lista dei plugin da me usati che vanno dalla possibilità di esplorare il file system a scrivere applicativi in Python, dall'indentare correttamente il codice a secondo del tipo di file (JSON, XML, Dockerfile ed altri) o autocompletare il codice come un qualsiasi IDE e così via.

Cosa è ZSH

ZSH è una shell che può essere utilizzata come linea di comando interattiva e come un potente interprete per script di shell.

Zsh può essere vista come un'estensione della Bourne shell dotata di numerose migliorie, fra le quali alcune caratteristiche mutuate da bash, ksh e Tcsh.

Funzionalità:

  • Autocompletamento programmabile che aiuta l'utente ad inserire sia le opzioni che gli argomenti per la maggior parte dei comandi più utilizzati, con supporto pre-attivato per svariate centinaia di comandi
  • Condivisione della cronologia dei comandi fra tutte le shell attive
  • Funzionalità estesa di globbing che consente di specificare i nomi file senza la necessità di utilizzare un programma esterno quale find
  • Manipolazione avanzata di variabili/array
  • Modifica di comandi multi-linea in un singolo buffer
  • Controllo ortografico
  • Varie modalità di compatibilità, ad esempio zsh può emulare il comportamento di una Bourne shell quando eseguita come /bin/sh
  • Temi per i prompt, compresa l'abilità di posizionare parti del prompt sul lato destro dello schermo e di nasconderle automaticamente quando si sta inserendo un comando lungo
  • Moduli caricabili, che provvedono, fra le altre cose, a fornire: interfaccia TCP completa, controlli per Socket di dominio locale, un client FTP e funzionalità matematiche estese
  • Completamente personalizzabile

Lista plugin oh my zsh

Oh-my-zsh è un framework che semplifica la gestione delle configurazioni per la shell zsh. Di seguito la lista dei plugin usati che vanno dalla gestione dei comandi di: Archlinux, Git, Heroku, Docker, Python, Pipenv e così via. Inoltre troverete un tema chiamato powerlevel10k che configura e rende unica la vostra shell e un simpatico easter egg.

Automatizzare la creazione e gestione dei dotfiles

Per creare in maniera semplice dei dotfiles ho usato un software chiamato chezmoi scritto in Go.

Configurare VIM e ZSH

Installare chezmoi.

Per Ubuntu 16.04 LTS in poi:

snap install chezmoi --classic

Per Arch Linux:

pacman -S chezmoi

Creare la directory chezmoi sotto .local/share. Se non esiste nulla creare tutte le cartelle necessarie:

mkdir -p ~/.local/share/chezmoi

Clonare il repository:

git clone --depth=1 https://github.com/asrmarco13/dotfiles ~/.local/share/chezmoi

Andare all'interno del repository:

cd ~/.local/share/chezmoi

Inizializzare il repository:

chezmoi init

Applicare le configurazioni:

chezmoi apply

Per far funzionare il plugin devicons di VIM e il tema powelevel10k verrà installato un font raccomandato chiamato Meslo Nerd Fonts. Terminate quindi le configurazioni, modificare il font del proprio terminale scegliendo il MesloLGS Nerd Font. Andare poi nella home directory:

cd ~

Lanciare lo script di installazione del tema powelevel10k:

./.install_powerlevel10k.sh

Configurare powelevel10k:

source .zshrc

FAQ

Dove posso trovare altri plugin da installare per la mia configurazione?

VIM Awesome

Oh-my-zsh plugins

Idee, problemi o bug?

Aprite una segnalazione.

Conclusione

Alcuni plugin non sono più supportati e appena possibile li sostituirò. Attivate le notifiche sul progetto cliccando su watch.

Se l'idea vi è piaciuta lasciate un like e forkate il progetto 🍻