vim
Manipulation du texte
Recherche…
Remarques
Pour augmenter et diminuer les choses comme 11:59AM
, 3rd
et XVIII
, utilisez le plugin vim-Speeddating
Conversion de casse
En mode normal:
-
~
inverse la casse du caractère sous le curseur, -
gu{motion}
minuscule le texte couvert par{motion}
, -
gU{motion}
majuscule le texte couvert par{motion}
Exemple ( ^
marque la position du curseur):
Lorem ipsum dolor sit amet.
^
Lorem ipSum dolor sit amet. ~
Lorem IPSUM DOLOR sit amet. gU2w
Lorem IPsum DOLOR sit amet. gue
En mode visuel:
-
~
inverse la casse du texte sélectionné, -
u
minuscule le texte sélectionné, -
U
majuscule le texte sélectionné
Exemple ( ^^^
marque la sélection visuelle):
Lorem ipsum dolor sit amet.
^^^^^^^^^^^^^
Lorem ipSUM DOLOR SIT amet. ~
Lorem ipSUM DOLOR SIT amet. U
Lorem ipsum dolor sit amet. u
Incrémentation et décrémentation des nombres et des caractères alphabétiques
En mode normal, nous pouvons incrémenter le nombre le plus proche sur la ligne à ou après le curseur avec <Ca>
et le décrémenter avec <Cx>
. Dans les exemples suivants, la position du curseur est indiquée par ^
.
Incrémenter et décrémenter des nombres
for i in range(11):
^
<Cx>
décrémente le nombre:
for i in range(10):
^
10<Ca>
incrémente de 10
:
for i in range(20):
^
Incrémentation et décrémentation des caractères alphabétiques
Pour que l'incrémentation et la décrémentation fonctionnent aussi avec des lettres, utilisez la commande ex :set nrformats+=alpha
ou ajoutez set nrformats+=alpha
à votre .vimrc
.
Exemple d'incrément:
AAD
^
<Ca>
incrémente à B
:
ABD
^
Décrément exemple:
ABD
^
<Cx>
décrémente D
à C
:
ABC
^
Incrémentation et décrémentation des nombres lorsque l'incrémentation / décrémentation alphabétique est activée
Notez que l'activation de l'incrémentation / décrémentation pour travailler avec des caractères alphabétiques signifie que vous devez faire attention à ne pas les modifier lorsque vous souhaitez simplement modifier les nombres. Vous pouvez soit désactiver l'incrémentation / décrémentation alphabétique en utilisant la commande ex :set nrformats-=alpha
ou vous pouvez simplement être conscient de cela et être sûr de passer au numéro avant incrémenter ou décrémenter. Voici le " for i in range(11):
" for i in range(11):
exemple ci-dessus est repris pour fonctionner alors que l'incrémentation / décrémentation alphabétique est définie:
Disons que vous voulez diminuer 11
à 10
et l'incrémentation / décrémentation alphabétique est active.
for i in range(11):
^
Comme l'incrémentation / décrémentation alphabétique est active, pour éviter de modifier le caractère sous le curseur, avancez d'abord vers le premier 1
utilisant la commande de déplacement en mode normal f1
(c'est-à-dire minuscule f
suivi du chiffre 1
):
for i in range(11):
^
Maintenant, puisque le curseur est sur le nombre, vous pouvez le décrémenter avec <Cx>
. Lors du décrément, le curseur est repositionné sur le dernier chiffre du chiffre:
for i in range(10):
^
Code de mise en forme
En mode normal:
gg
aller en haut
=
alors G
Utiliser des "verbes" et des "noms" pour l'édition de texte
L'une des façons de penser aux commandes à exécuter, de modifier un texte d'une certaine manière, est d'utiliser des phrases entières.
Une commande est une action effectuée sur un objet. Par conséquent, il a un verbe:
:normal i " insert
:normal a " append
:normal c " overwrite
:normal y " yank (copy)
:normal d " delete
Certains de ces mots fonctionnent avec un objet comme d
, c
, y
. Ces objets peuvent être mot, ligne, phrase, paragraphe, tag . On peut les utiliser en combinaison:
: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
On pourrait aussi utiliser un modificateur pour spécifier précisément où l'action doit être exécutée:
: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
Davantage de ressources:
Apprenez à parler vim - verbes, noms et modificateurs!
Learning Vim en 2014: Vim en tant que langue
Modification de VimSpeak à l'aide de la grammaire vocale