Comment puis-je exécuter une sélection ou une plage Vim dans bash sans la remplacer?


12

Je voudrais sélectionner du texte dans vim puis l'exécuter dans bash. Je connais la procédure suivante:

  1. sélectionner du texte en utilisant Vouv
  2. :!!

Cependant, cela remplace la sélection par la sortie de la commande. Et si je ne veux pas ça?

Réponses:


21

Tapez la :wcommande comme ceci:

:w !command

Lorsque vous le tapez, il apparaîtra comme ceci:

:'<,'>w !command

Voir

:help :w_c

3
C'est correct, mais attention à ne pas le faire :w! commandpar erreur. Si la commande est un programme auquel vous avez accès en écriture, elle écrasera le programme et vous ne pourrez pas annuler la modification car ce n'était pas le tampon qui était ouvert.
Ray

5

Dans vim 8.0 , vous pouvez sélectionner une plage de lignes et exécuter :terminal bash. Cela ouvrira un terminal fonctionnant bashavec votre sélection en tant que stdin.

:terminal node, :terminal ruby, :terminal pythonSemblent fonctionner bien aussi.

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.