Je me retrouve souvent à taper des commandes comme gg"+yG
ou ggdG
et je voudrais un moyen plus efficace de le faire sans avoir à déplacer le curseur deux fois. Existe-t-il une commande que je peux utiliser, par exemple y[movement]
pour copier la totalité du tampon sans déplacer le curseur?
cut-copy-paste
cursor-motions
custom-text-object
Aléatoire832
la source
la source
mmgg"+yG`m
et je n'y ai jamais pensé. Merci, cela se passe directement dans le .vimrc.C-o
deux fois pour revenir en arrière.Une autre solution consiste à utiliser un plugin appelé vim-textobj-whole . Par défaut, ce plugin fournit l'objet texte
ae
pour tout le tampon,ie
pour tout le tampon, sauf les lignes vides de début et de fin.Ce plugin dépend de vim-textobj-user du même auteur, ce qui permet aux utilisateurs de définir n'importe quel objet texte confortablement. Il existe de nombreux plugins qui en font bon usage.
la source
Il n'y a pas d'objet texte pour tout le fichier par défaut, mais il est possible de les créer à l'aide
omap
. Dans ce cas, cela ressemblerait à ceci:Voici une ventilation de son fonctionnement:
Remarques:
Ctrlupeut être utilisé en mode ligne de commande pour supprimer tout ce qui se trouve à gauche de la position du curseur. La raison pour laquelle cela est fait est que si vous entrez la ligne de commande directement depuis le mode visuel, elle sera automatiquement insérée
'<,'>
sur la ligne de commande, et ce n'est pas ce que nous voulons. Je suggère également que vous utilisiez autre chose quef
, car ilf
est normalement utilisé pour passer au caractère recherché suivant sur la ligne. Par exemple,fi
ira au suivanti
sur la ligne actuelle.Rubriques d'aide pertinentes:
la source
``
à la fin ramènera le curseur à l'emplacement précédent.Voici quelques mappages rapides et nuls pour accomplir la tâche:
Vous pouvez maintenant utiliser
yY
etdD
pour tirer / supprimer respectivement. Ce n'est pas aussi agréable que d'utiliser un objet texte complet, mais parfois les solutions les plus simples sont les meilleures.Pour plus d'aide, voir:
la source