vim
Manipolazione del testo
Ricerca…
Osservazioni
Per incrementare e decrementare le cose come 11:59AM , 3rd e XVIII , usare il plugin vim-speed date
Conversione di casi di testo
In modalità normale:
-
~inverte il caso del carattere sotto il cursore, -
gu{motion}minuscolo il testo trattato da{motion}, -
gU{motion}il testo trattato da{motion}
Esempio ( ^ indica la posizione del cursore):
Lorem ipsum dolor sit amet.
^
Lorem ipSum dolor sit amet. ~
Lorem IPSUM DOLOR sit amet. gU2w
Lorem IPsum DOLOR sit amet. gue
In modalità visiva:
-
~inverte il caso del testo selezionato, -
uminuscolo il testo selezionato, -
Uuppercases il testo selezionato
Esempio ( ^^^ contrassegna la selezione visiva):
Lorem ipsum dolor sit amet.
^^^^^^^^^^^^^
Lorem ipSUM DOLOR SIT amet. ~
Lorem ipSUM DOLOR SIT amet. U
Lorem ipsum dolor sit amet. u
Numeri incrementali e decrementali e caratteri alfabetici
In modalità normale, possiamo incrementare il numero più vicino sulla linea in corrispondenza o dopo il cursore con <Ca> e decrementarlo con <Cx> . Negli esempi seguenti, la posizione del cursore è indicata da ^ .
Numeri incrementali e decrescenti
for i in range(11):
^
<Cx> decrementa il numero:
for i in range(10):
^
10<Ca> incrementa di 10 :
for i in range(20):
^
Incrementare e decrementare i caratteri alfabetici
Per fare in modo che incrementi e decrementi funzionino anche con le lettere, usa il comando ex :set nrformats+=alpha o aggiungi set nrformats+=alpha al tuo .vimrc .
Esempio di incremento:
AAD
^
<Ca> incrementa in B :
ABD
^
Esempio di decremento:
ABD
^
<Cx> decrementi da D a C :
ABC
^
Numeri di incremento e decremento quando è abilitato l'incremento / decremento alfabetico
Si noti che abilitare l'incremento / decremento per lavorare con caratteri alfabetici significa che bisogna stare attenti a non modificarli quando si desidera semplicemente modificare i numeri. Puoi disattivare l'incremento / decremento alfabetico usando il comando ex :set nrformats-=alpha o puoi semplicemente esserne consapevole e assicurarti di passare al numero prima di incrementare o decrementare. Ecco " for i in range(11): " esempio da sopra rifatto per funzionare mentre è impostato l'incremento / decremento alfabetico:
Diciamo che vuoi diminuire da 11 a 10 e l'incremento / decremento alfabetico è attivo.
for i in range(11):
^
Poiché alfabetico incremento / decremento è attivo, per evitare di modificare il carattere sotto il cursore, prima spostarsi in avanti alla prima 1 utilizzando i normali comandi di movimento modalità f1 (cioè minuscole f seguita dal numero 1 , non deve essere confuso con un tasto funzione ):
for i in range(11):
^
Ora, dato che il cursore è sul numero, puoi decrementarlo con <Cx> . Al decremento, il cursore viene riposizionato sull'ultima cifra del numero:
for i in range(10):
^
Codice di formattazione
In modalità normale:
gg vai in cima
= poi G
Utilizzo di "verbi" e "nomi" per la modifica del testo
Uno dei modi per pensare ai comandi che dovrebbero essere eseguiti, per modificare un testo in un certo modo, è come frasi intere.
Un comando è un'azione eseguita su un oggetto. Quindi ha un verbo:
:normal i " insert
:normal a " append
:normal c " overwrite
:normal y " yank (copy)
:normal d " delete
Alcune di queste parole funzionano con un oggetto come d , c , y . Tali oggetti possono essere parola, linea, frase, paragrafo, tag . Si possono usare questi in combinazione:
:normal dw " deletes the text from the position of the cursor to the end of the next word
:normal cw " deletes the text from the cursor to the end of the next word and
" enters insert mode
Inoltre si potrebbe usare un modificatore per specificare con precisione dove deve essere eseguita l'azione:
:normal diw " delete inside word. I.e. delete the word in which is the cursor.
:normal ciw " removes the word, the cursor points at and enters insert mode
:normal ci" " removes everything between the opening and closing quotes and
" enters insert mode
:normal cap " change the current paragraph
:normal ct8 " remove everything until the next number 8 and enter insert mode
:normal cf8 " like above but remove also the number
:normal c/goal " remove everything until the word 'goal' and enter insert mode
:normal ci{ " change everything inside the curly braces
Altre risorse:
Impara a parlare vim: verbi, nomi e modificatori!
Learning Vim nel 2014: Vim come lingua
Modifica di VimSpeak usando Speech Grammar