Difference between revisions of "Vim (Italiano)"

From ArchWiki
Jump to: navigation, search
(Controllo ortografico: up)
(tradotta intestazione e parti dell'esempio di configurazione)
Line 7: Line 7:
 
{{Article summary end}}
 
{{Article summary end}}
  
''"[http://www.vim.org/about.php Vim] is an advanced text editor that seeks to provide the power of the de-facto UNIX editor ‘vi’, with a more complete feature set."'' Vim is not a simple text editor like nano or pico. It does require some time to learn, and a great amount of time to master.
+
''"[http://www.vim.org/about.php Vim] è un editor di testi avanzato che mira a fornire la potenza del de-facto editor UNIX ‘vi’, con maggiori caratteristiche e funzionalità."'' Vim non è un semplice editor di testo come nano o pico. Esso richiede un po' di pratica per imparare, e molto tempo per padroneggiarlo.
  
Vim is designed to make your fingers work as little as possible, and you should never have to use the mouse. This may seem odd, but once you master vim, you’ll begin to understand the reasoning.
+
Vim è ideato per ridurre al minimo il lavoro delle dita, e non ci sarà mai bisogno di usare il mouse. Questo può sembrare sciocco, ma una volta padroneggiato vim, se ne comprenderà il motivo.
  
 
==Feature==
 
==Feature==
Line 19: Line 19:
  
 
==Installazione==
 
==Installazione==
* Per installare vim per la linea di comando
+
* Per installare vim per la linea di comando: {{Pkg|vim}}
pacman -S vim
+
  
* Per installare la versione con la GUI (fornisce vim):
+
* Per installare la versione con la GUI (fornisce vim): {{Pkg|gvim}}
pacman -S gvim
+
  
{{Nota|Vim non è più compilato con l'opzione X server. Per molti utenti, significa che la normale funzione di copia e incolla dagli appunti di un ambiente grafico non funzionerà. Se questa è una operazione fondamentale, considerare l'installazione di {{Package Official|gvim}} che include una versione di Vim con questo supporto. [https://bugs.archlinux.org/task/14609 (Attribution)]}}
+
{{Nota|Vim non è più compilato con l'opzione X server. Per molti utenti, significa che la normale funzione di copia e incolla dagli appunti di un ambiente grafico non funzionerà. Se questa è una operazione fondamentale, considerare l'installazione di {{Pkg|gvim}} che include una versione di Vim con questo supporto. [https://bugs.archlinux.org/task/14609 (Attribution)]}}
  
 
==Uso==
 
==Uso==
Line 143: Line 141:
 
Vim evidenzierà così le parole non corrette. Quando il cursore su una parola sbagliata usare {{Keypress|z}}{{Keypress|<nowiki>=</nowiki>}} per vedere le correzioni proposte.
 
Vim evidenzierà così le parole non corrette. Quando il cursore su una parola sbagliata usare {{Keypress|z}}{{Keypress|<nowiki>=</nowiki>}} per vedere le correzioni proposte.
  
Solo il dizionario inlese sarà installato di default, altri possono essere trovati nel repository {{Codeline|extra}}:
+
Solo il dizionario inlese sarà installato di default, altri possono essere trovati nei [[Official Repositories (Italiano)|repository ufficiali]].
  
 
  # pacman -Ss vim-spell
 
  # pacman -Ss vim-spell
Line 158: Line 156:
  
 
Per attivare il controllo ortografico per il linguaggio scelto (ad esempio {{Codeline|1=:setlocal spell spelllang=hu}} per il precedente esempio).
 
Per attivare il controllo ortografico per il linguaggio scelto (ad esempio {{Codeline|1=:setlocal spell spelllang=hu}} per il precedente esempio).
 +
 +
{{Tip|Per abilitare il controllo ortografico soltanto per i documenti LaTeX (o TeX), aggiungere {{Codeline|autocmd FileType tex setlocal spell spelllang<nowiki>=</nowiki>en_us}} al file {{Filename|/etc/vimrc}}. Per il controllo ortografico di linguaggi diversi dall'inglese, semplicemente sostituire {{Codeline|en_us}} con il valore appropriato al proprio linguaggio.}}
  
 
===Syntax Highlighting===
 
===Syntax Highlighting===
Line 179: Line 179:
 
"set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,gb18030,latin1
 
"set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,gb18030,latin1
 
        
 
        
set tabstop=4      " Number of spaces that a <Tab> in the file counts for.
+
set tabstop=4      " Numeri di spazzi per la tabulazione nei file.
 
   
 
   
set shiftwidth=4    " Number of spaces to use for each step of (auto)indent.
+
set shiftwidth=4    " Numero di spazzi da utilizzare per ogni passo di (auto)indentazione.
 
   
 
   
 
set expandtab      " Use the appropriate number of spaces to insert a <Tab>.
 
set expandtab      " Use the appropriate number of spaces to insert a <Tab>.
Line 193: Line 193:
 
                     " at the start of the line.
 
                     " at the start of the line.
 
   
 
   
set showcmd        " Show (partial) command in status line.
+
set showcmd        " Mostra comandi (parziali) nella linea di stato.
  
set number          " Show line numbers.
+
set number          " Mostra i numeri delle linee.
  
 
set showmatch      " When a bracket is inserted, briefly jump to the matching
 
set showmatch      " When a bracket is inserted, briefly jump to the matching
Line 205: Line 205:
 
                     " its matches.
 
                     " its matches.
 
   
 
   
set incsearch      " While typing a search command, show immediately where the
+
set incsearch      " Mentre si digita un comando di ricerca, mostra immediatamente
                     " so far typed pattern matches.
+
                     " le corrispondenze trovate.
 
   
 
   
set ignorecase      " Ignore case in search patterns.
+
set ignorecase      " Ignora le maiuscole durante le ricerche.
 
   
 
   
set smartcase      " Override the 'ignorecase' option if the search pattern
+
set smartcase      " Sovrasta l'opzione 'ignorecase' se il pattern di ricerca
                     " contains upper case characters.
+
                     " contiene caratteri maiuscoli.
 
   
 
   
 
set backspace=2    " Influences the working of <BS>, <Del>, CTRL-W
 
set backspace=2    " Influences the working of <BS>, <Del>, CTRL-W
Line 218: Line 218:
 
                     " over something.
 
                     " over something.
 
   
 
   
set autoindent      " Copy indent from current line when starting a new line
+
set autoindent      " Copia l'indentazione della linea corrente quando se ne inizia una nuova
                     " (typing <CR> in Insert mode or when using the "o" or "O"
+
                     " (digitando <CR> in modalità inserimento oppure quando si usa "o" o "O"
                     " command).
+
                     " in modalità comando).
 
   
 
   
 
set textwidth=79    " Maximum width of text that is being inserted. A longer
 
set textwidth=79    " Maximum width of text that is being inserted. A longer
Line 238: Line 238:
 
                     "          to comments)
 
                     "          to comments)
 
   
 
   
set ruler          " Show the line and column number of the cursor position,
+
set ruler          " Mostra il numero di linea e di colonna della posizione del cursore,
                     " separated by a comma.
+
                     " separati da virgola.
 
   
 
   
 
set background=dark " When set to "dark", Vim will try to use colors that look
 
set background=dark " When set to "dark", Vim will try to use colors that look
Line 246: Line 246:
 
                     " Any other value is illegal.
 
                     " Any other value is illegal.
 
   
 
   
set mouse=a        " Enable the use of the mouse.
+
set mouse=a        " Abilita l'uso del mouse.
 
   
 
   
 
filetype plugin indent on
 
filetype plugin indent on

Revision as of 20:30, 21 October 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Vim (Italiano)#)
Attenzione: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.
Sommario help replacing me
Un tutorial base, ed alcuni consigli per la configurazione dell'editor di testi per console/terminale.

"Vim è un editor di testi avanzato che mira a fornire la potenza del de-facto editor UNIX ‘vi’, con maggiori caratteristiche e funzionalità." Vim non è un semplice editor di testo come nano o pico. Esso richiede un po' di pratica per imparare, e molto tempo per padroneggiarlo.

Vim è ideato per ridurre al minimo il lavoro delle dita, e non ci sarà mai bisogno di usare il mouse. Questo può sembrare sciocco, ma una volta padroneggiato vim, se ne comprenderà il motivo.

Feature

  • Vim è molto potente per effettuare editing avanzati
  • Espandibile, grazie alle opzioni di configurazione
  • Semplici e robuste scorciatoie da tastiera
  • Evidenziazione della sintassi

Installazione

  • Per installare vim per la linea di comando: vim
  • Per installare la versione con la GUI (fornisce vim): gvim
Nota: Vim non è più compilato con l'opzione X server. Per molti utenti, significa che la normale funzione di copia e incolla dagli appunti di un ambiente grafico non funzionerà. Se questa è una operazione fondamentale, considerare l'installazione di gvim che include una versione di Vim con questo supporto. (Attribution)

Uso

Questa è una panoramica base su come utilizzare vim. Alternativamente, è possibile utilizzare Template:Codeline per familiarizzare con l'editor. Vim ha quattro differenti modalità:

  • Command mode: i tasti premuti vengono interpretati come comandi.
  • Insert mode: i tasti premuti vengono inseriti nel file.
  • Visual mode: i tasti premuti selezionano, tagliano o copiano il testo.
  • Ex mode: una modalità di input per comandi addizionali (esempio salvare un file, sostituire parti di testo, ecc.).

Editing base

Se si avvia vim con:

$ vim somefile.txt

si vedrà un documento vuoto (presumendo che somefile.txt non esista. Se esiste, si vedrà il suo contenuto). Non sarà possibile modificarlo immediatamente - la modalità in cui si avvia vim è la modalità comando(Command Mode). In questa modalità sarà possibile utilizzare i comandi vim dalla tastiera.

Nota: Vim è un esempio dello stile Unix. Questo significa che non è vistoso, e non lascerà ferme le nostre mani. Non ha assistenti o giochi integrati. Esso però ci permetterà comunque di portare a termine il lavoro, ed anche velocemente. Anche tutti i suoi comandi sono case sensitive. A volte i comandi maiuscoli sono una versione con effetto più ampio (Template:Keypress sostituisce un carattere, Template:Keypress sostituisce una linea), altre volte sono comandi completamente diversi (Template:Keypress sposta il cursore in basso, Template:Keypress unisce due linee).

Per inserire il testo (prima del cursore) usare il comando Template:Keypress. Template:Keypress (i maiuscola) entra in inserimento all'inizio della linea. Per aggiungere del testo dopo il cursore (quello che la maggior parte degli utenti si aspetta) premere Template:Keypress. Premendo Template:Keypress posizionerà il cursore per l'inserimento alla fine della linea.

Si può tornare in modalità comando, in qualsiasi momento premendo Template:Keypress.

Spostamento

In vim, è possibile spostare il cursore usando le frecce della tastiera, ma questa non è considerata la vim way. Si dovrebbe spostare la mano tropo a destra dalla normale posizione di battitura per raggiungere le frecce, e poi ritornare in posizione. Non è divertente.

In vim ci si può spostare in basso premendo Template:Keypress. Si può ricordare perché la lettera "j" punta verso il basso. Per spostare il cursore in alto premendo Template:Keypress. A sinistra con Template:Keypress (si trova a sinistra di "j"), ed a destra con Template:Keypress (L minuscolo).

Template:Keypress posizionerà il cursore all'inizio della linea, e Template:Keypress alla fine di essa.

Nota: Template:Keypress e Template:Keypress sono comunemente utilizzati nelle espressioni regolari per rappresentare l'inizio e la fine della linea. Le espressioni regolari sono molto potenti e comunemente usate negli ambienti *nix, quindi per ora sarà ingannevole, ma più avanti si capirà "l'idea" dietro a molti di queste combinazioni da tastiera.

Per spostarsi di una parola premere Template:Keypress. Template:Keypress considera come appartenenti alla parola più caratteri (ad esempio gli underscore, i trattini come parte della parola). Per tornare indietro di una parola si usa Template:Keypress. Anche in questo caso Template:Keypress considera come appartenenti alla parola più caratteri. Per avanzare fino alla fine di una parola Template:Keypress, Template:Keypress} per comprendere altri caratteri.

Per spostarsi all'inizio di una frase Template:Keypress effettuerà lo spostamento. Template:Keypress farà invece l'opposto, spostandosi alla fine della frase. Per uno spostamento maggiore Template:Keypress posizionerà il cursore all'inizio del paragrafo. Template:Keypress sposterà il cursore alla fine dell'intero paragrafo.

Per spostarsi all'inizio dello schermo, Template:Keypress effettuerà lo spostamento. Template:Keypress sposterà il cursore al centro dello schermo, ed Template:Keypress alla fine della schermata. Template:KeypressTemplate:Keypress posizionerà il cursore all'inizio del file, Template:Keypress invece alla sua fine. Template:Keypress+Template:Keypress permetterà di scorrere pagina per pagina.

Ripetere i comandi

Se un comando è preceduto da un numero, allora questo comando verrà eseguito un numero di volte uguale al numero premuto (ci sono delle eccezioni, ma possono avere senso, come il comando Template:Keypress). Ad esempio premendo Template:KeypressTemplate:Keypress ed inserendo il testo "Help! " e successivamente Template:Keypress verrà inserito il testo "Help! Help! Help! “. Premendo Template:KeypressTemplate:Keypress il cursore si sposterà in avanti di due paragrafi. Questo è utile con alcuni dei comandi di seguito.

Cancellare

Il comando Template:Keypress cancellerà il carattere sotto al cursore. Template:Keypress cancellerà il carattere prima del cursore. Qui è dove la funzione dei numeri diventa interessante. Template:KeypressTemplate:Keypress cancellerà 6 caratteri. Premere Template:Keypress (punto) ripeterà il comando precedente. Quindi, ipotizzando di avere la parola "foobar" in diversi punti, ma dopo averci pensato, si preferisce usare la parola "foo". Spostare il cursore sopra la lettera "b", premere Template:KeypressTemplate:Keypress, spostare il cursore sulla successiva parola "foobar" e premere Template:Keypress (punto).

Il comando Template:Keypress comunicherà a vim che si intende cancellare qualcosa. Dopo aver premuto Template:Keypress, sarà necessario indicare cosa cancellare. Si possono utilizzare anche i comandi di movimento. Template:KeypressTemplate:Keypress cancellerà finito alla prossima parola. Template:KeypressTemplate:Keypress cancellerà fino all'inizio della linea. Anteporre un numero al comando di eliminazione funzionerà altrettanto: Template:KeypressTemplate:KeypressTemplate:Keypress cancellerà fino alle tre parole successive. Template:Keypress (maiuscolo) è una scorciatoia per cancellare fino alla fine della linea (come Template:KeypressTemplate:Keypress). Premere Template:KeypressTemplate:Keypress cancellerà tutta la linea.

Per cancellare e sostituire la parola corrente, posizionare il cursore sulla parola ed eseguire il comando Template:KeypressTemplate:Keypress. Questo comando cancellerà la parola e cambierà la modalità in inserimento. Per sostituire una singola lettera usare Template:Keypress.

Annulla e ripeti

Vim ha una funzione appunti integrata (anche nota come buffer). Le azioni possono essere annullate con il tasto Template:Keypress e ripetute con la combinazione Template:Keypress+Template:Keypress.

Visual Mode

Premendo Template:Keypress si entrerà in visual mode. In questa modalità è possibile selezionare parti di testo, una volta selezionato premendo Template:Keypress verrà memorizzato nel buffer, è possibile tagliare il testo premendo Template:Keypress. Template:Keypress incollerà il testo memorizzato nel buffer dopo il cursore, Template:Keypress prima. Il tasto Template:Keypress attiverà la visual line mode, analoga alla modalità precedente ma con effetto su intere linee. Template:Keypress+Template:Keypress invece per i blocchi di testo.

Nota: In qualsiasi momento si cancelli del testo, questo vine inserito nel buffer e sarà disponibile per essere incollato.

Trova e sostituisci

Per cercare una parola o un carattere nel file, basterà semplicemente premere Template:Keypress e successivamente il/i carattere/i da cercare ed infine premere Template:Keypress. Per visualizzare l'occorrenza successiva della ricerca usare Template:Keypress.


Per cercare e sostituire usare il comando substitute Template:KeypressTemplate:KeypressTemplate:Keypress. La sua sintassi è Template:Codeline. Ad esempio:

Comando        Risultato
:s/xxx/yyy/    Sostituisce xxx con yyy alla prima occorrenza
:s/xxx/yyy/g   Sostituisce xxx con yyy alla prima occorrenza, globalmente, (in una intera frase)
:s/xxx/yyy/gc  Sostituisce xxx con yyy globalmente con conferma
:%s/xxx/yyy/g  Sostituisce xxx con yyy globalmente in tutto il file


Si può usare il comando global Template:KeypressTemplate:KeypressTemplate:Keypress per ricercare un pattern ed eseguire un comando per ogni corrispondenza. La sintassi è: Template:Codeline.

Comando  Risultato
:g/^#/d  Cancella tutte le linee che iniziano per #
:g/^$/d  Cancella tutte le linee che sono vuote

Salvare ed uscire

Per salvare e/o uscire, sarà necessario usare la modalità Ex. I comandi della modalità Ex sono preceduti da Template:Keypress. Per salvare un file usare Template:KeypressTemplate:Keypress nomefile. Per uscire Template:KeypressTemplate:Keypress. Se invece si disidera uscire senza salvare le modifiche effettuate, usare Template:KeypressTemplate:KeypressTemplate:Keypress. Per salvare ed uscire Template:KeypressTemplate:Keypress. Esiste anche un'altra scorciatoia per salvare ed uscire cioè la combinazione Template:KeypressTemplate:Keypress(maiuscole).

Altri comandi

  1. Premendo Template:Keypress verrà cancellato il carattere sotto al cursore, e verrà attivata la modalità inserimento. Template:Keypress cancellerà l'intera linea ed attiverà la modalità inserimento.
  2. Template:Keypress creerà una nuova linea sotto alla linea corrente ed attiverà la modalità inserimento. Template:Keypress invece creerà una nuova linea sopra a quella corrente ed avvierà la modalità inserimento.
  3. Template:KeypressTemplate:Keypress memorizzerà una linea nel buffer.
  4. Template:KeypressTemplate:Keypress cancellerà la linea corrente ed attiverà la modalità inserimento.
  5. Template:Keypress evidenzierà la parola corrente e Template:Keypress la cercherà.

Configurazione

Il file di configurazione personale di vim si trova nella cartella home dell'utente Template:Filename. Gli utenti esperti di vim tendono a tenere un Template:Filename molto ben strutturato. La configurazione globale di vim è situata in Template:Filename. La variabile di ripiego Template:Codeline è definita come Template:Filename. Ad esempio per creare uno schema di colori globale il file Template:Filename dello shema di colori dovrebbe essere salvato in Template:Filename.

Correntemente, la configurazione globale di vim in Arch Linux è molto basilare a differenza delle configurazioni di default di vim nelle altre distribuzioni. Per ottenere i comportamenti comunemente utilizzati (come evidenziare la sintassi, il ritorno alla linea dell'ultima modifica...), utilizzare il file di configurazione d'esempio:

cp /etc/vimrc /etc/vimrc.bak
cp /usr/share/vim/vim73/vimrc_example.vim /etc/vimrc

File di backup

Vim per default crea un backup di un file modificato nella stesa cartella del file chiamandolo Template:Filename. Per evitare di ingombrare, alcuni utenti impostano vim per utilizzare una apposita cartella per i backup:

set backupdir=~/.vim/backup,/tmp

Oppure è possibile disabilitare questa funzione:

set nobackup
set nowritebackup
set noswapfile    ! (disabilita i file swap)

Wrap Searches

set wrapscan

Controllo ortografico

set spell

Vim evidenzierà così le parole non corrette. Quando il cursore su una parola sbagliata usare Template:KeypressTemplate:Keypress per vedere le correzioni proposte.

Solo il dizionario inlese sarà installato di default, altri possono essere trovati nei repository ufficiali.

# pacman -Ss vim-spell

per ottenere una lista dei linguaggi disponibili,

# pacman -S vim-spell-xy

Dove Template:Codeline è il linuaggio scelto.

I file dei dizionari pssono essere trovati anche sull'archivio ftp di vim. Dopo aver scaricato i file spl del linguaggio desiderato (esempio hu.cp1250.spl, hu.iso-8859-2.spl and/or hu.utf-8.spl per l'ungherese) e posizionati nella cartella Template:Filename, eseguire:

:setlocal spell spelllang=LL

Per attivare il controllo ortografico per il linguaggio scelto (ad esempio Template:Codeline per il precedente esempio).

Tip: Per abilitare il controllo ortografico soltanto per i documenti LaTeX (o TeX), aggiungere Template:Codeline al file Template:Filename. Per il controllo ortografico di linguaggi diversi dall'inglese, semplicemente sostituire Template:Codeline con il valore appropriato al proprio linguaggio.

Syntax Highlighting

Per abilitare la syntax highlighting (vim supporta una vasta lista di linguaggi di programmazione):

filetype plugin on
syntax on

Esempio di Template:Filename

Un esempio del file Template:Filename comprendente le opzioni comuni.

Template:File

Altri esempi possono essere trovati più avanti.

Unire file (Vimdiff)

Vim include un editor di comparazione (un programma che può mostrare le differenze tra due file). Può essere avviato con Template:Codeline; successivamente usare:

]c :        - differenza successiva
[c :        - differenza precedente
Ctrl+w +w   - cambio finestra
do          - invia modifica
dp          - ottieni modifica
zo          - mostra il testo nascosto
zc          - nasconde il testo
:diffupdate - ricontrolla i file in cerca di differenze

Vim Tips

Trucchi per portare a termine alcuni compiti.

Numeri linea

  1. Per mostrare i numeri linea Template:Codeline.
  2. Per andare ad una linea specifica Template:Codeline.

Sostituzioni tra linee

Per sostituire solo tra un intervallo di certe linee:

:n,ns/one/two/g

Ad esempio, per sostituire il pattern 'one' con 'two' tra le linee 3 e 4, è possibile eseguire:

:3,4s/one/two/g

Ripristinare la posizione del cursore nei file

Se si desidera che all'apertura di un file vim posizioni il cursore dove era situato durante l'ultima modifica del file, aggiungere la seguente linea al file Template:Filename:

if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif

Consultare anche questo articolo del wiki di Vim.

Spazio vuoto all'inizio della finestra di gvim

Quando si usa un window manager configurato per ignorare le dimensioni delle finestre, gvim riempirà l'area non funzionale con il colore dell sfondo del tema GTK.

Una soluzione consiste nel rendere più omogeneo il colore dello sfondo: semplicemente inserendo questa linea nel file Template:Filename:

style "vimfix" {
  bg[NORMAL] = "#242424" # this matches my gvim theme 'Normal' bg color.
}
widget "vim-main-window.*GtkForm" style "vimfix"

Risorse

Ufficiali

Tutorial

Esempi di configurazione

Altro

  • HOWTO Vim -- Articolo del wiki di Gentoo su cui è basato questo articolo (autore sconosciuto).