J'utilise la a"
motion assez souvent dans vim; Par exemple, utiliser ca"
lors de la refactorisation d'un morceau de code pour remplacer un argument codé en dur par un nom de variable. Le problème avec cette approche est qu'il a"
inclut les espaces blancs de tête s'il n'y a pas d'espaces de fin :
Tout espace blanc arrière est inclus, sauf s'il n'y en a pas, puis l'espace blanc de tête est inclus.
Ainsi, lorsque je modifie un appel de fonction comme celui-ci:
aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3) #refactored
Je dois réinsérer manuellement l'espace avant replacedArg
de le ca"
supprimer.
Y a-t-il un mouvement similaire qui n'inclut pas cet espace blanc, ou y a-t-il autre chose que je peux utiliser à la place de ca"
cela qui m'évite d'avoir à taper un espace supplémentaire?
Remarques:
cf"
fait ce que je veux tant que la chaîne ne contient pas de guillemets échappés, mais m'oblige à avoir le curseur au début de la chaîne. Je voudrais quelque chose que je puisse utiliser de n'importe où dans la chaîne, et il?"<Enter>cf"
est plutôt difficile à taper.- Cela concerne moins la
<Space>
frappe unique et plus le fait que j'oublie souvent au début d'inclure l'espace, me coûtant au moins quatre frappes supplémentaires (bi<Space><Esc>
) et brisant ma concentration. Ainsi, la longueur de la commande de remplacement n'est pas aussi importante, tant qu'elle supprime uniquement le texte entre les caractères donnés, puis passe en mode insertion.
replace
cursor-motions
l4mpi
la source
la source
?"<Enter>
pour rechercher un devis en arrière sur une ligne, vous pouvez utiliserF"
.F
est identique àf
mais recherche à gauche. Les réponses ci-dessous semblent mieux pour votre question, maisF
c'est une commande utile en soi.Réponses:
Depuis /superuser/537453/vim-copy-quoted-string-without-whitespace : utilisez à la
2i"
place dea"
. Voir aussi:help i'
.la source
Il y a, dans de Wellle targets.vim plugin. Pour citer la partie pertinente (à l'intérieur de la section " Un devis "):
a' a" a
la source
a"
et utiliseA"
le comportement d'origine?Comme alternative, vous pouvez utiliser un objet texte argument / paramètre. Maintenant, Vim n'a pas d'objets de texte d'argument natif, mais il existe quelques plugins qui le font:
Personnellement, j'utilise mon propre plugin, argumentative.vim, mais j'ai entendu de bonnes choses à la fois sur sideways.vim et target.vim.
la source