Ricerca nel sito web

Come configuro Vim come editor predefinito su Linux


Vim è il mio editor preferito. Queste modifiche al mio sistema rendono Vim disponibile come predefinito nei programmi che utilizzano un editor diverso per impostazione predefinita.

Ho usato Linux per circa 25 anni e Unix per alcuni anni prima. Durante questo periodo, ho sviluppato preferenze per alcuni strumenti che utilizzo quotidianamente. Uno degli strumenti più importanti che utilizzo è l'editor Vim.

Ho iniziato a utilizzare Vi quando ho imparato Solaris all'inizio degli anni '90 perché mi era stato detto che sarebbe stato sempre disponibile su qualsiasi sistema, il che è vero nella mia esperienza. Ho provato altri editor e tutti fanno il loro lavoro. Tuttavia, trovo che Vim funzioni meglio per me e lo uso così tanto che la mia memoria muscolare di Vim mi induce a tentare di utilizzare i suoi tasti di comando anche con altri editor.

Inoltre, mi piace davvero Vim.

Molti file di configurazione utilizzano Vi invece di Vim e puoi eseguire il comando vi. Tuttavia, il comando vi è un collegamento a vim.

Molti strumenti Linux utilizzano editor che emulano o semplicemente richiamano Nano, Emacs o Vim. Alcuni altri strumenti consentono agli utenti, come quelli con preferenze chiare, di collegarsi al loro editor preferito. I due esempi che mi hanno colpito di più sono stati la modifica della riga di comando di Bash, che per impostazione predefinita è Emacs, e il client di posta elettronica in modalità testo Alpine, che per impostazione predefinita utilizza l'editor Pico. In effetti, l'editor Pico è stato scritto esplicitamente per l'uso nel client di posta Pine, che è il predecessore di Alpine.

Non tutti i programmi che utilizzano editor esterni sono configurabili. Alcuni utilizzano solo l'editor specificato dallo sviluppatore. Per le applicazioni configurabili, esistono diversi metodi per selezionare l'editor preferito.

Modifica della riga di comando di Linux

Oltre a modificare effettivamente i file di testo, l'altro strumento che utilizzo e che richiede la maggior parte delle modifiche è la shell Bash. L'editor Bash predefinito è Emacs. Anche se ho usato Emacs, preferisco decisamente Vim. Tanti anni fa, ho cambiato lo stile di editing predefinito per l'editing da riga di comando di Bash da Emacs a Vim, il che è molto più comodo per me.

Esistono un paio di modi per configurare Bash. Puoi utilizzare un file di configurazione locale, come /home/yourhomedirectory/.bashrc, che modifica solo le impostazioni predefinite per il tuo account utente e non per altri utenti sullo stesso sistema. Preferisco apportare questo tipo di modifiche a livello globale, il che significa sostanzialmente il mio account personale e root. In questo secondo caso, puoi creare il tuo file di configurazione e inserirlo nella directory /etc/profile.d.

Ho aggiunto un file chiamato myBashConfig.sh a /etc/profile.d. Ci sono file per tutte le shell installate nella directory /etc/profile.d. Durante l'avvio di una sessione terminale, ciascuna shell legge solo i file a lei destinati in base alle estensioni dei nomi dei file. Ad esempio, la shell Bash legge solo i file con estensione .sh.

<SNIP>
alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi
<SNIP>

La riga set -o vi in questo segmento del file di configurazione globale di Bash imposta Vi come editor predefinito. L'opzione -o su questo comando set definisce vi come editor. È necessario chiudere tutte le sessioni Bash in esecuzione e aprirne di nuove affinché ciò abbia effetto.

A questo punto, ora puoi utilizzare tutti i comandi di modifica Vim familiari, incluso il movimento del cursore. Basta premere il tasto Escape per accedere alla modalità di modifica di Vim. Mi piace particolarmente la possibilità di utilizzare b più volte per spostare il cursore indietro di più parole.

Imposta Vim come predefinito per altri programmi

Alcuni strumenti e programmi da riga di comando di Linux controllano la variabile di ambiente $EDITOR per determinare quale editor utilizzare. Puoi controllare tu stesso il valore corrente di questa variabile usando il seguente comando. L'ho fatto su una delle mie macchine virtuali appena installate per verificare quale sia effettivamente l'impostazione predefinita.

# echo $EDITOR
/usr/bin/nano
#

Per impostazione predefinita, i programmi Fedora che controllano la variabile d'ambiente $EDITOR utilizzeranno l'editor Nano. Aggiungendo la riga EDITOR=vi come mostrato nello snippet sopra a myBashConfig.sh si cambia l'impostazione predefinita nell'editor Vi (Vim). Non tutti i programmi da riga di comando che utilizzano un editor esterno controllano questa variabile d'ambiente.

Modifica e-mail in Alpine

Qualche settimana fa, ho deciso che Pico semplicemente non funzionava bene per me come editor di posta elettronica. Sono riuscito a farlo funzionare e l'ho fatto per un po' di tempo dopo essere passato ad Alpine da Thunderbird. Ho scoperto che Pico mi intralciava quando provavo a utilizzare le sequenze di tasti Vim, influenzando la mia produttività.

Ho letto nell'Aiuto Alpino che è possibile cambiare l'editor predefinito. Ho deciso di cambiarlo in Vim. In realtà è molto facile da fare.

Nel menu principale Alpine, premi il tasto S per accedere alla configurazione, quindi C per la configurazione. Nella sezione Preferenze del compositore, seleziona gli elementi Abilita comando editor alternativo e Abilita implicitamente editor alternativo con una X. Diverse pagine più in basso nella sezione Preferenze utente avanzate, trova la riga Editor. Dovrebbe assomigliare a questo se non è già stato modificato.

Editor    = <No Value Set>

Evidenzia questa riga Editor con la barra del cursore e premi Invio per modificare la riga. Cambia in vim, premi Invio, quindi premi il tasto E per uscire e Y per salvare le modifiche apportate.

Per modificare un messaggio email utilizzando Vim, basta inserire il corpo dell'email e Vim si avvia automaticamente, proprio come fa Pico. Tutte le mie funzionalità di editing preferite sono presenti perché in realtà utilizza Vim. Anche la sequenza Esc :wq per uscire da Vim è la stessa.

Pensieri finali

Preferisco di gran lunga Vim ad altri editor e queste modifiche al mio sistema lo rendono disponibile come predefinito nei programmi che utilizzano un editor diverso per impostazione predefinita. Alcuni programmi utilizzano la variabile d'ambiente $EDITOR, quindi devi apportare la modifica solo una volta. Altri programmi come Alpine dispongono di opzioni di configurazione utente che è necessario impostare individualmente per ciascun programma.

Questa possibilità di selezionare l'editor esterno preferito è abbastanza in linea con il principio della filosofia Unix: “Ogni programma dovrebbe fare una cosa e farla bene. "Perché scrivere un altro editor quando ce ne sono diversi perfettamente validi là fuori? E soddisfa anche il principio della filosofia Linux: “Usa il tuo editor preferito. "

Naturalmente, puoi modificare il tuo editor in modalità testo predefinito in Nano, Pico, EMACS o qualsiasi altro che preferisci.

Articoli correlati: