Réponses:
En général, d <motion> supprimera de la position actuelle à la position de fin après <motion>. Cela signifie que:
Lisez ceci pour apprendre tout ce que vous pouvez combiner avec la commande «d».
d<leftArrow>
faites dh
plutôt, car h
c'est la clé pour aller à gauche
J'ai été dans ce scénario plusieurs fois. Je veux me débarrasser de tous les espaces de la ligne 10 pour qu'elle se joigne à la ligne 9 après la virgule.
Il s'agit essentiellement d'une simple jointure de ligne dans VIM.
kJ
fait l'affaire (regardez ci-dessous)
k
= Up, J
= Joindre la ligne ci-dessous à la ligne actuelle avec un espace entre les deux. Vous pouvez également faire kgJ
pour rejoindre sans espace. gJ
= Joindre la ligne ci-dessous sans espace entre les deux. Via cheatsheet: vim.rtorr.com
Pour répondre au point n ° 3, diw
et daw
sont excellents.
db
supprime les lettres précédant la dernière lettre mais laisse toujours la dernière lettre.
i
et a
au milieu de ces commandes? Je sais que le début d
est «supprimer», et je suppose que la fin w
est «mot».
:help text-objects
. Le premier paragraphe est très concis et je pense qu'il le décrit très bien.
En mode insertion:
Autrement:
db
(si le curseur est après le mot) ou bdw
d0
(ou d^
si vous souhaitez supprimer jusqu'au premier caractère non vide)dE
ou dtSpacepour supprimer jusqu'au premier espace ou d/\sEnterpour supprimer jusqu'au prochain caractère d'espace blanc.Éditer
Étant donné que la question a été modifiée de telle sorte que 3 est supprimé par le premier caractère d'espacement à gauche, ma réponse devrait changer en:
dB
ou dShiftTSpacepour supprimer au premier espace ou d?\sEnterpour supprimer au caractère d'espace blanc précédent.Voir:
:help motion.txt
:help WORD
bdw
. Le personnage restant (celui à l'origine sous le curseur) db
m'ennuyait toujours.
Je pense qu'aucune des réponses n'est complète:
En général, vous démarrez généralement une opération de suppression en utilisant d<motion>
et rarement en utilisant x
.
Remarque: lorsqu'il
N
n'est pas spécifié, se comporte comme siN=1
(supprime un seul caractère)
Caractères discrets:
<N>x
- Supprimer N caractères à droite
d<N><left-arrow>
- Supprimer N caractères à gauche
d<N><right-arrow>
- Supprimer N caractères à droite
Limites de mots:
Remarque: le premier mot précédent / suivant est celui sous le curseur
d<N>b
- Supprimer du début du N-ième mot précédent à la position actuelle
d<N>e
- Supprimer de la position actuelle à la fin du Nième mot suivant
d<N>w
- Identique à d<N>e
mais comprenant les espaces blancs de fin
diw
- Supprimer le mot entier sous le curseur
daw
- Identique à diw
mais comprenant les espaces blancs de fin
Limites de ligne:
d0
- Supprimer du début de la ligne à la position actuelle
d^
- Supprimer du premier caractère non-espace à la position actuelle
d$
- Supprimer de la position actuelle à la fin de la ligne
/ <CR>x
(recherchez un espace en avant, appuyez sur Entrée pour y aller, x pour supprimer)
Il y a peut-être une façon plus magique de le faire, mais je n'en connais pas.
db
mal à vous souvenir:5. dw or d<ctrl+rightarrow>
et6. db or d<ctrl+leftarrow>