web-dev-qa-db-fra.com

Sélections multiples dans VIM

Est-il possible de sélectionner plusieurs lignes (ou sections) non consécutives dans le mode visuel de VIM? Si c'est le cas, comment?

60
Marcin

Vous devez installer le plugin multiselect pour obtenir cette capacité. Trouvez-le ici: http://www.vim.org/scripts/script.php?script_id=95

27
Michael Dillon

Non, ce n'est pas possible sans plugins.

Mais vous pouvez copier plusieurs lignes dans le même tampon, si cela résout votre problème.

  • Pour démarrer le "tampon d'accumulation":
    • marquer une section à copier en mode visuel,
    • presse "a pour opérer sur le tampon a avec la commande suivante et
    • tirez-le comme d'habitude (y).
  • Pour ajouter à ce tampon:
    • marquez la section suivante et
    • presse "A(mettre en majuscule le nom du tampon signifie "ne pas écraser le tampon, y ajouter à la place")
    • et tirez à nouveau avec y.
  • Vous pouvez ensuite coller le tampon accumulé a à tout moment en utilisant "ap.
65
soulmerge

Une réponse plus à jour est ce plugin .

(avertissement: personnellement, je ne l'utilise pas vraiment, cela interfère trop avec le reste de ma configuration vim. Si votre vim est relativement propre et que vous passez du sublime, cela peut certainement être votre tasse de thé.)

Je voudrais également souligner la fonctionnalité d'enregistrement/relecture de vim (la touche q). Très souvent, l'enregistrement est également inutile, je peux effectuer les tâches normalement effectuées avec la multi-sélection de sublime en le faisant de manière itérative (par exemple, rechercher quelque chose, effectuer le correctif sur la première instance de celui-ci, puis les répétitions suivantes sont effectuées en appuyant sur n et N pour se déplacer et . pour répéter l'opération d'édition).

J'ai mon , touche virgule nnoremap 'd à @q, cela répète la séquence qui est enregistrée en appuyant sur qq (enregistrer dans le registre q).

24
Steven Lu