914
contributi
m (→Conclusioni) |
(guida estesa e verificata) |
||
(9 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 9: | Riga 9: | ||
<pre>syntax on</pre> | <pre>syntax on</pre> | ||
Se invece si volesse abilitare questa funzionalità unicamente per il proprio utente, o se non si disponesse dei privilegi di superutente, si può creare un file <code>~/.vimrc</code> contenente quella riga che dunque andrà a sovrascrivere il comportamento di default. | |||
== Gestire l'indentazione: TAB, spazi e ''autoindent'' == | == Gestire l'indentazione: TAB, spazi e ''autoindent'' == | ||
Riga 69: | Riga 71: | ||
Aggiungendo nell'ormai famoso <code>/etc/vim/vimrc</code> | Aggiungendo nell'ormai famoso <code>/etc/vim/vimrc</code> | ||
<pre>map <f5> :w<CR>:!python %<CR></pre> | <pre> | ||
" Running Python by pushing F5 | |||
map <f5> :w<CR>:!python %<CR> | |||
</pre> | |||
oppure, nel caso in cui si usi Python 3, | oppure, nel caso in cui si usi Python 3, | ||
<pre>map <f5> :w<CR>:!python3 %<CR></pre> | <pre> | ||
" Running Python 3 by pushing F5 | |||
map <f5> :w<CR>:!python3 %<CR> | |||
</pre> | |||
alla pressione del tasto F5 verrà eseguito <code>python</code> (o <code>python3</code>) passando come parametro il file corrente (indicato da <code>'''%'''</code>). | alla pressione del tasto F5 verrà eseguito <code>python</code> (o <code>python3</code>) passando come parametro il file corrente (indicato da <code>'''%'''</code>). | ||
Riga 85: | Riga 93: | ||
[[image: Python-gvim-7-omnicompletion.png|thumb|Screenshot della funzione di omnicompletion di Vim 7 con linguaggio di programmazione Python.]] | [[image: Python-gvim-7-omnicompletion.png|thumb|Screenshot della funzione di omnicompletion di Vim 7 con linguaggio di programmazione Python.]] | ||
Per il Python questa funzione permette di completare i nomi delle classi dei metodi e degli attributi tramite un comodo menu contestuale. Inoltre viene anche visualizzata contemporaneamente la docstring del metodo o della classe che si sta completando. | Per il Python questa funzione permette di completare i nomi delle classi, dei metodi e degli attributi tramite un comodo menu contestuale. Inoltre viene anche visualizzata contemporaneamente la docstring del metodo o della classe che si sta completando. | ||
Una immagine vale più di mille parole. Potete notare la funzione di omnicompletion in funzione nello screenshot qui a fianco. Notare come sulla parte superiore della finestra sia apparsa automaticamente la documentazione della classe sulla quale si sta utilizzando l'autocompletamento. | Una immagine vale più di mille parole. Potete notare la funzione di omnicompletion in funzione nello screenshot qui a fianco. Notare come sulla parte superiore della finestra sia apparsa automaticamente la documentazione della classe sulla quale si sta utilizzando l'autocompletamento. | ||
Per effettuare l'autocompletamento, quando si è in modalità inserimento basta premere <code>Ctrl+x Ctrl+o</code>. | Per effettuare l'autocompletamento, quando si è in modalità inserimento basta premere <code>'''Ctrl+x Ctrl+o'''</code>. | ||
Per spostarsi nel riquadro della finestra occupato dalla documentazione o per chiuderlo si utilizzano i [[VimCS:_Gestione#Finestre|classici comandi di Vim]] per la gestione delle finestre, quali <code>'''CTRL+w w'''</code> e <code>''':close'''</code>. | |||
A volte è anche comodo effettuare un autocompletamento ''non intelligente'', basato sulle parole presenti nel file corrente. Questo autocompletamento si ottiene premendo <code>CTRL+n</code>. Quest'ultimo metodo può risultare utile per completare nomi di variabili o di funzioni. | A volte è anche comodo effettuare un autocompletamento ''non intelligente'', basato sulle parole presenti nel file corrente. Questo autocompletamento si ottiene premendo <code>'''CTRL+n'''</code>. Quest'ultimo metodo può risultare utile per completare nomi di variabili o di funzioni. | ||
== Tips and Tricks == | == Tips and Tricks == | ||
Riga 97: | Riga 107: | ||
# '''Commentare un blocco di codice''' | # '''Commentare un blocco di codice''' | ||
#* Premere CTRL+v e selezionare le righe di codice interessate; | #* Premere <code>'''CTRL+v'''</code> e selezionare le righe di codice interessate; | ||
#* premere <code>'''I'''</code> (i | #* premere <code>'''I'''</code> (i maiuscola) e digitare il carattere interessato (solitamente <code>#</code>); | ||
#* premere ESC; | #* premere ESC; | ||
#* spostarsi dalla riga corrente. | |||
# '''Indentare e deindentare un blocco di codice''' | # '''Indentare e deindentare un blocco di codice''' | ||
#* Premere <code>''' | #* Premere <code>'''v'''</code> ed entrare in modalità "visuale linea"; | ||
#* | #* selezionare la parte di codice da in/deindentare; | ||
#* | #* premere <code>'''>'''</code> per indentare o <code>'''<'''</code> per deindentare di 1 TAB. | ||
In alternativa al metodo indicato al punto 1, per commentare un blocco di testo è possibile mappare un tasto qualsiasi che faccia tutto il lavoro "sporco". | |||
In alternativa al metodo indicato al punto | |||
Perché ciò avvenga, basterà aggiungere all'interno del file di configurazione lo snippet: | |||
<pre> | <pre> | ||
" # | " Python comments: # for adding and - for removing | ||
map # :s/^/#/<CR> | map # :s/^/#/<CR> | ||
map - :s/^#//<CR> | map - :s/^#//<CR> | ||
</pre> | </pre> | ||
La semplice digitazione del carattere | La semplice digitazione del carattere <code>'''#'''</code> farà in modo che il blocco in quel momento selezionato sia commentato in automatico; quella del carattere <code>'''-'''</code> invece lo decommenterà. | ||
== Conclusioni == | == Conclusioni == | ||
Riga 127: | Riga 137: | ||
{{Autori | {{Autori | ||
|Autore = [[Utente:TheNoise|~ The Noise]] | |Autore = [[Utente:TheNoise|~ The Noise]] | ||
|Verificata_da = | |||
:[[Utente:Stemby|Stemby]] 13:08, 23 mar 2015 (CET) | |||
|Numero_revisori = 1 | |||
|Estesa_da = | |||
: [[Utente:Stemby|Stemby]] 13:08, 23 mar 2015 (CET) | |||
}} | }} | ||
[[Categoria:Elaborazione testi]][[Categoria:Programmi da terminale]][[Categoria:Python]] | [[Categoria:Elaborazione testi]][[Categoria:Programmi da terminale]][[Categoria:Python]] |
contributi