Scarica il codice sorgente: LearnVim.txt
Vim (Vi IMproved) è un clone del popolare editor vi per Unix... (e qui prosegui con tutto il testo tradotto che abbiamo fatto sopra)
Vim (Vi IMproved) è un clone del popolare editor vi per Unix. È un editor di testo progettato per la velocità e l'aumento della produttività, ed è ubiquo nella maggior parte dei sistemi basati su Unix. Ha numerosi scorciatoie da tastiera per una navigazione rapida in punti specifici del file e per un editing veloce.
vimtutor è un'applicazione eccellente che ti insegna come usare Vim. Viene
fornita con il pacchetto vim. Dovresti essere in grado di eseguire "vimtutor"
dalla riga di comando per aprire questo tutor in italiano (se disponibile)
o tramite il comando $ vimtutor it.Ti guiderà
attraverso tutte le principali funzionalità di vim.
vim <nomefile> # Apre <nomefile> in vim
:help <argomento> # Apre la documentazione di aiuto integrata su <argomento>
:q # Esci da vim
:w # Salva il file corrente
:wq # Salva il file ed esci da vim
:q! # Esci da vim senza salvare il file
# ! *forza* l'esecuzione di :q, quindi esce senza salvare
ZQ # Esci da vim senza salvare il file
:x # Salva il file (solo se modificato) ed esci da vim
ZZ # Salva il file (solo se modificato) ed esci da vim
u # Annulla (Undo)
CTRL+R # Ripristina (Redo)
h # Muovi a sinistra di un carattere
j # Muovi giù di una riga
k # Muovi su di una riga
l # Muovi a destra di un carattere
Ctrl+B # Muovi indietro di una schermata intera
Ctrl+F # Muovi avanti di una schermata intera
Ctrl+D # Muovi avanti di 1/2 schermata
Ctrl+U # Muovi indietro di 1/2 schermata
# Muoversi all'interno della riga
0 # Muovi all'inizio della riga
$ # Muovi alla fine della riga
^ # Muovi al primo carattere non vuoto della riga
# Cercare nel testo
/parola # Evidenzia tutte le occorrenze di parola dopo il cursore
?parola # Evidenzia tutte le occorrenze di parola prima del cursore
n # Muove il cursore alla successiva occorrenza dopo la ricerca
N # Muove il cursore alla precedente occorrenza
:%s/foo/bar/g # Cambia 'foo' in 'bar' su ogni riga del file
:s/foo/bar/g # Cambia 'foo' in 'bar' sulla riga corrente
:%s/\n/\r/g # Sostituisce i caratteri di nuova riga con caratteri di nuova riga
:'<,'>s/foo/bar/g # Cambia 'foo' in 'bar' su ogni riga della selezione visuale corrente
# Saltare ai caratteri
f<carattere> # Salta avanti e atterra su <carattere>
t<carattere> # Salta avanti e atterra subito prima di <carattere>
# Per esempio,
f< # Salta avanti e atterra su <
t< # Salta avanti e atterra subito prima di <
# Muoversi per parola
w # Muovi avanti di una parola
b # Muovi indietro di una parola
e # Muovi alla fine della parola corrente
# Altri caratteri per muoversi
gg # Vai all'inizio del file
G # Vai alla fine del file
:NUM # Vai alla riga numero NUM (NUM è un numero qualsiasi)
H # Muovi all'inizio della schermata
M # Muovi al centro della schermata
L # Muovi alla fine della schermata
Vim ha una documentazione di aiuto integrata a cui si può accedere con :help <argomento>.
Per esempio :help navigation aprirà la documentazione su come navigare nel
tuo spazio di lavoro!
:help può anche essere usato senza opzioni. Questo aprirà un dialogo di aiuto
predefinito che mira a rendere l'approccio iniziale a vim più semplice!
Vim si basa sul concetto di modalità.
i # Mette vim in modalità inserimento, prima della posizione del cursore
a # Mette vim in modalità inserimento, dopo la posizione del cursore
v # Mette vim in modalità visuale
: # Mette vim in modalità ex
<esc> # 'Esce' da qualunque modalità ti trovi, tornando in modalità Normale
# Copiare e incollare testo
# Le operazioni usano il registro di vim per impostazione predefinita
# Pensalo come agli appunti privati di vim
# Yank ~ copia il testo nel registro di vim
y # Copia (Yank) tutto ciò che è selezionato
yy # Copia la riga corrente
# Delete ~ copia il testo e lo elimina dal file
d # Elimina tutto ciò che è selezionato
dd # Elimina la riga corrente
p # Incolla il testo dal registro dopo la posizione corrente del cursore
P # Incolla il testo dal registro prima della posizione corrente del cursore
x # Elimina il carattere sotto la posizione corrente del cursore
Vim può essere pensato come un insieme di comandi in un formato 'Verbo-Modificatore-Soggetto', dove:
Alcuni esempi importanti di 'Verbi', 'Modificatori' e 'Soggetti':
# 'Verbi'
d # Elimina (Delete)
c # Cambia (Change)
y # Copia (Yank)
v # Seleziona visualmente
# 'Modificatori'
i # Dentro (Inside)
a # Intorno (Around)
NUM # Numero (NUM è un numero qualsiasi)
f # Cerca qualcosa e ci atterra sopra
t # Cerca qualcosa e si ferma prima
/ # Trova una stringa dal cursore in poi
? # Trova una stringa prima del cursore
# 'Soggetti'
w # Parola (Word)
s # Frase (Sentence)
p # Paragrafo (Paragraph)
b # Blocco (Block)
# Esempi di 'frasi' o comandi
d2w # Elimina 2 parole
cis # Cambia all'interno della frase
yip # Copia all'interno del paragrafo (copia il paragrafo in cui ti trovi)
ct< # Cambia fino alla parentesi aperta
# Cambia il testo da dove sei fino alla prossima parentesi aperta
d$ # Elimina fino alla fine della riga
> # Indenta la selezione di un blocco
< # De-indenta la selezione di un blocco
:earlier 15m # Riporta il documento a come era 15 minuti fa
:later 15m # Inverte il comando precedente
ddp # Scambia la posizione di righe consecutive, dd poi p
. # Ripeti l'azione precedente
:w !sudo tee % # Salva il file corrente come root
:set syntax=c # Imposta l'evidenziazione della sintassi per 'c'
:sort # Ordina tutte le righe
:sort! # Ordina tutte le righe al contrario
:sort u # Ordina tutte le righe e rimuovi i duplicati
~ # Inverte maiuscole/minuscole del testo selezionato
u # Testo selezionato in minuscolo
U # Testo selezionato in maiuscolo
J # Unisce la riga corrente con la riga successiva
# Piegare (Fold) il testo
zf # Crea una piega dal testo selezionato
zd # Elimina la piega sulla riga corrente
zD # Elimina ricorsivamente le pieghe annidate o selezionate
zE # Elimina tutte le pieghe nella finestra
zo # Apri la piega corrente
zO # Apri ricorsivamente le pieghe annidate o selezionate
zc # Chiudi la piega corrente
zC # Chiudi ricorsivamente le pieghe annidate o selezionate
zR # Apri tutte le pieghe
zM # Chiudi tutte le pieghe
za # Alterna apertura/chiusura della piega corrente
zA # Alterna ricorsivamente apertura/chiusura delle pieghe annidate
[z # Muovi all'inizio della piega corrente
]z # Muovi alla fine della piega corrente
zj # Muovi all'inizio della piega successiva
zk # Muovi alla fine della piega precedente
Le macro sono fondamentalmente azioni registrabili. Quando inizi a registrare una macro, questa registra ogni azione e comando che usi, finché non interrompi la registrazione. Richiamando una macro, questa applica esattamente la stessa sequenza di azioni e comandi di nuovo sulla selezione di testo.
qa # Inizia a registrare una macro chiamata 'a'
q # Interrompi la registrazione
@a # Riproduci la macro
Il file .vimrc può essere usato per configurare Vim all'avvio.
Ecco un esempio di file ~/.vimrc:
" Esempio ~/.vimrc
" 2015.10
" Necessario perché vim sia iMproved
set nocompatible
" Determina il tipo di file dal nome per consentire l'auto-indentazione intelligente, ecc.
filetype indent plugin on
" Abilita l'evidenziazione della sintassi
syntax on
" Migliore completamento riga di comando
set wildmenu
" Usa la ricerca non sensibile alle maiuscole tranne quando si usano lettere maiuscole
set ignorecase
set smartcase
" Quando si apre una nuova riga e non è attiva l'indentazione specifica del file,
" mantieni la stessa indentazione della riga in cui ti trovi
set autoindent
" Visualizza i numeri di riga sulla sinistra
set number
" Opzioni di indentazione, modifica in base alla preferenza personale
" Numero di spazi visuali per TAB
set tabstop=4
" Numero di spazi nel TAB durante l'editing
set softtabstop=4
" Numero di spazi indentati quando si usano le operazioni di ri-indentazione (>> e <<)
set shiftwidth=4
" Converti i TAB in spazi
set expandtab
" Abilita tabulazione e spaziatura intelligente per indentazione e allineamento
set smarttab
Il manuale tradotto in italiano lo trovi qui
$ vimtutor oppure se lo preferisci in italiano $ vimtutor it
A vim Tutorial and Primer in inglese ma molto bello
Quali sono gli angoli bui di Vim che tua madre non ti ha mai detto? (discussione su Stack Overflow)
Hai un suggerimento? Oppure una correzione? Apri un issue sul GitHub, o fa un pull request da solo!
In origine contribuita da RadhikaG, e modificata da 1 contributore(i).