xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
Et un objet texte "tampon" grossier:
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
---ÉDITER---
Un « opérateur » est une commande qui ne fait rien par lui - même: d, y, etc.
L'appui sur ces touches vous met en "mode en attente de l'opérateur", où Vim attend que vous lui disiez sur quoi vous voulez qu'il opère ... avec un "mouvement en attente de l'opérateur".
Vous pouvez utiliser :omapou :onoremappour définir des mouvements personnalisés en attente de l'opérateur. La technique utilisée ici est inspirée par :help omap-info:
vous définissez une cartographie du mode visuel qui couvre la zone souhaitée,
vous utilisez ce mappage dans un mappage en attente d'opérateur.
Notez que j'ai utilisé :onoremapparce que il, alet i%n'existent pas déjà. Si vous surchargez un mouvement existant ou texte-objet - dire ip- vous devez utiliser un mappage récursif: :omap.
:help :map-operator décrit une méthode légèrement plus avancée.
Cool. Pourriez-vous en expliquer quelques morceaux? Qu'est-ce que o(mode opérateur en attente) dans onoremap? Que fait ole mode visuel? Je suppose que c'est "de l'autre côté", car il semble sauter de l'autre côté d'une sélection ... Comment puis-je le trouver :h? Je ne le trouve pas avec :h x_oou :h o.
lindhe
Explication ajoutée.
romainl
1
Je suggérerais une solution supplémentaire, d'utiliser ^ au lieu de 0 (donc la ligne commence au début du premier caractère:
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
De cette façon, si nous changeons de ligne, cela respectera le niveau de retrait.
Réponses:
Voici un texte brut "ligne":
Et un objet texte "tampon" grossier:
---ÉDITER---
Un « opérateur » est une commande qui ne fait rien par lui - même:
d
,y
, etc.L'appui sur ces touches vous met en "mode en attente de l'opérateur", où Vim attend que vous lui disiez sur quoi vous voulez qu'il opère ... avec un "mouvement en attente de l'opérateur".
Vous pouvez utiliser
:omap
ou:onoremap
pour définir des mouvements personnalisés en attente de l'opérateur. La technique utilisée ici est inspirée par:help omap-info
:Notez que j'ai utilisé
:onoremap
parce queil
,al
eti%
n'existent pas déjà. Si vous surchargez un mouvement existant ou texte-objet - direip
- vous devez utiliser un mappage récursif::omap
.:help :map-operator
décrit une méthode légèrement plus avancée.Voir
:help v_o
pouro
en mode visuel.la source
o
(mode opérateur en attente) dans onoremap? Que faito
le mode visuel? Je suppose que c'est "de l'autre côté", car il semble sauter de l'autre côté d'une sélection ... Comment puis-je le trouver:h
? Je ne le trouve pas avec:h x_o
ou:h o
.Je suggérerais une solution supplémentaire, d'utiliser ^ au lieu de 0 (donc la ligne commence au début du premier caractère:
De cette façon, si nous changeons de ligne, cela respectera le niveau de retrait.
la source