alternative vi / vim à «élargir la sélection à la portée» de sublimetext


13

Le texte sublime a une fonctionnalité intéressante appelée " Étendre la sélection à la portée " MAJ + CMD + ESPACE qui sélectionne tout dans la portée.

Il sélectionne tout dans la portée, fonctionne parfaitement () ou [] ou {} en le répétant, il étend la portée à son parent.

Je cherche à réaliser la même chose avec vim.

Réponses:


22

Si vous vouliez dire, vimvous pouvez le faire avec visual-mode ( :help visual-mode) et text-objects ( :help text-objects).

Pour sélectionner un bloc à accolades, procédez comme suit: v+ a+ {, pour sélectionner la répétition du bloc englobant a+ {. Notez que vous pouvez choisir de sélectionner uniquement le contenu des accolades en utilisant iau lieu de a.

Ces commandes, comme beaucoup d'autres dans vim, sont construites par une action suivie d'un objet texte, où l'objet texte peut être ajouté par un nombre pour inclure plus d'objets affectés par l'action. Vous pouvez donc également supprimer l'objet en le remplaçant vpar dou en le corrigeant par c, etc.

Il y a des objets texte pour beaucoup d'autres choses en plus (), {}et []par exemple:

  • a+ wsignifie un mot.
  • a+ ssignifie une phrase.
  • a+ psignifie un paragraphe.
  • a+ <signifie un <>bloc.
  • a+ 'signifie une chaîne entre guillemets simples.
  • a+ "signifie une chaîne entre guillemets doubles.

Vous pouvez également être intéressé par le plugin surround qui vous permet d'ajouter / remplacer / supprimer des personnages environnants ou même des balises.


Oui, je parlais de vim. Je vous remercie. existe-t-il un moyen de continuer à le développer, par exemple., [[[event touchesForView: button] anyObject]si le curseur est proche de l' touchesForViewaction v+ a+ [sélectionne, [event touchesForView: button]je voudrais développer un niveau de plus? c'est-à-dire[[[event touchesForView: button] anyObject]
palaniraja

3
@palaniraja: oui, vous pouvez ajouter l'objet texte par un nombre, par exemple: v+ 2+ a+ [.
Thor

6

Le plugin vim-expand-region permet d'étendre / réduire la région sélectionnée visuellement à un ensemble (configurable) d'objets texte. C'est-à-dire que vous pouvez commencer par sélectionner une variable, puis l'affectation, puis le bloc, puis la fonction, etc.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.