2010-09-10 12 views
5

Dans Vim, une commande rapide de 3 caractères permet de changer ce qui est dans la chaîne entre guillemets (par exemple, ci "), mais existe-t-il un moyen simple de changer le type de guillemets entourant le curseur Parfois, je dois passer de "blah" à "" "blah" "" ou "blah" à "blah" (en code source Python) et je voudrais idéalement le faire rapidement en utilisant les raccourcis clavier par défaut .Modifier les guillemets englobants dans Vim

Répondre

18

Essayez le plugin surround.vim. Je trouve un ajout essentiel à toute installation de vim.

+0

C'est un joli plugin! –

+0

semble parfait, merci! – Mzzzzzz

+0

Pour passer des guillemets aux guillemets, faites 'ysa" "wysa" "'. Cela vaut la peine de mettre une macro ou de la lier. Par exemple, ': noremap : normal ysa" "wysa" "" liera ceci 'Ctrl' +' c'. Alternativement, vous pouvez simplement mapper ': noremap : normal ysiw" w 'pour entourer un mot avec des guillemets, puis appuyez sur' Ctrl' + 'c' ou quelle que soit votre liaison est * n * fois pour ajouter * n * ensembles – Jay

2

Surround.vim est grande, mais je ne pense pas que ça va gérer votre tripl e-cité besoins directement.

La façon dont j'ai fait des trucs le long de ces lignes (quand le surround n'était pas approprié) était d'utiliser %, de faire le changement, puis de faire un double-backtick pour revenir au point de départ. Par exemple. si le curseur se trouve quelque part dans une chaîne entre guillemets, faites f'%, faites la modification, puis double-retour et ..

+0

Je ne connaissais pas le double backtick, j'aurais pris la même approche sauf que j'aurais fait une marque jetable. –