ReSharper a une fonctionnalité intéressante appelée "étendre la sélection": en appuyant sur CTRL+W
(je pense que c'est la valeur par défaut) à plusieurs reprises, vous sélectionnez de plus en plus à partir de l'emplacement de votre curseur actuel. C'est d'abord un mot, puis de plus en plus de mots, une ligne, un bloc de lignes interne puis externe (par exemple un bloc if), puis une fonction, etc ...Existe-t-il un moyen d'émuler la fonctionnalité «étendre la sélection» de ReSharper dans Vim?
Fondamentalement, en appuyant plusieurs fois sur la combinaison de touches, vous pouvez finir par sélectionner le fichier entier. Je suis sûr qu'au moins certains d'entre vous le sauront.
Je viens de commencer à apprendre toutes les subtilités de vim et je n'ai pas assez d'expérience pour voir comment quelque chose comme ça pourrait être implémenté dans Vim (bien que je suppose que c'est possible). Donc, ma question s'adresse à Vim gourous: est-ce que cela peut être fait et comment?
Mise à jour: un peu d'histoire. J'ai parlé à mon ex-patron de tous les avantages de Vim, et il pense que tout est génial. Sa seule question/problème était: at-il "étendre la sélection"? Ma question à ce jour a été no. Donc, si quelqu'un connaît la réponse, je vais enfin gagner une discussion: P (et peut-être créer un nouveau Vim convertir :-)
)
Incroyable comment personne répondant ici n'a reconnu le besoin d'un analyseur (partiel) approprié. Resharper implémente cette fonctionnalité (géniale) au-dessus d'un modèle logique du code: le code DOM. C'est aussi ce qui permet aux refactorings de travailler sur les sélections effectuées. Sans analyseur approprié, vous sélectionnez les «choses» mais pas les (sous-) expressions correctes. Ce dernier serait utile, mais pas actuellement pris en charge dans Vim _That. sauf si vous comptez le support de Lisp: 'vabababo2k' est parfait pour lisp_ :) – sehe
@sehe: Vous avez, bien sûr, tout à fait raison. Je réfléchis à ce problème depuis que j'ai posé la question ici (il y a longtemps!) et j'ai réalisé que même si je réussis à créer cette fonctionnalité, cela ne fonctionnera que pour une langue spécifique ou une famille de langues. Dommage, n'est-ce pas? :) –
J'ai réfléchi moi-même aussi. Je serais heureux avec une solution à 90% (je peux faire des refactorings assez rapidement dans Vim manuellement pour l'instant). Cependant, une sous-expression-matching-selection-expander 'utilisable' est vraiment ma fonction de rêve n ° 1. Je suis convaincu qu'il est très possible de trouver un analyseur qui va DoTheRightThing pour C#, Java, C++ et C; Les seuls cas de bords collants que j'attends sont C# vs C++ 0x lambdas. Donc, je les laisserais probablement dehors pendant un certain temps (et je m'assurerais que c'est branché). Je suis toujours en train de décider de ce qu'il faut utiliser, car je déteste le script vim. Je me penche vers python, mais je suis fatigué d'exclure les bases utilisateurs – sehe