Existe-t-il une fonctionnalité dans Vim qui permet d'ajouter des parenthèses autour du texte en surbrillance?
Par exemple, si je souligne n = getchar()
dans if (n = getchar() == '\n')
, je voudrais mettre entre parenthèses autour de cela.
Vous avez besoin d'un plugin surround génial et indispensable . Ensuite, il fera heureusement ce que vous voulez si vous sélectionnez du texte et tapez Sb
(accolades), ou S)
(notez le S majuscule!).
En fait, il peut faire beaucoup d'entourage: diverses guillemets, balises, etc. Il vous permet de placer le curseur dans le mot entre guillemets et de changer les guillemets doubles en guillemets simples en tapant: cs"'
(change-surround "
to '
). Ou vous pouvez supprimer complètement les citations en tapant ds"
(delete-surround "
).
Lisez les documents par lien, c'est vraiment génial!
sb
(accolades), ous)
.s
supprime simplement la sélection et passe en mode insertion.En plus de la suggestion de Dmitry du plugin surround , l'ajout de parenthèses autour du texte en surbrillance peut être fait avec la commande suivante:
Vous pouvez définir une carte en mode visuel à l'aide (par exemple)
\s
en ajoutant ce qui suit à votre~/.vimrc
fichier:la source
V
au lieu dev
). Dans ce cas, il colle simplement les lignes sous vos parens.lh-brackets se lie simplement
(
pour entourer la sélection avec les crochets. Contrairement au surround, il ne suit pas la philosophie habituelle de liaison de touches de Vim. Au lieu de cela, moins de clés sont nécessaires.Sinon, il existe de nombreuses façons de procéder. Si cela ne vous dérange pas de gâcher le registre sans nom, vous utilisez également
s(^R")<esc>
(^R
commeCTRL-R
)la source
S'appuyant sur la réponse de dotancohens, j'ai mis ce qui suit dans mon
.vimrc
:Vous pouvez facilement faire des mappages similaires pour [], {}, etc. Cela fonctionne en sautant aux marqueurs de début et de fin définis implicitement après la fin du mode visuel. De cette façon, la sélection de lignes entières ajoutera les parens au début / à la fin de la première / dernière ligne; il n'écrasera pas votre registre yank; et il laissera le curseur juste avant la paren d'ouverture.
la source