web-dev-qa-db-fra.com

Sortie de tuyau de la commande shell (!) Dans un nouveau tampon dans Vim

Comment pouvez-je pipeler la sortie d'une commande shell dans un nouveau tampon dans Vim? Ce qui suit ne fonctionnerait évidemment pas, mais vous pouvez voir ce que j'arrive à:

:!echo % | :newtab
36
Richie Marquez

Vous ne pouvez pas pipeler la sortie d'une commande shell dans une commande qui crée un nouveau tampon, mais vous pouvez créer un nouveau tampon et lire la sortie d'une commande shell dans ce tampon avec une entrée de la ligne de commande de Vim. Une version de travail de votre exemple serait

:tabnew | r !echo <c-r>=bufname("#")<cr>

Notez que le symbole de tuyau dans ce cas est un séparateur entre les commandes Vim EX, et non le tuyau de la coque. Voir également

:help :tabnew
:help :r!
:help :bar
28
garyjohn
:tabnew | enew | r ! <your Shell cmd>

travaille pour moi.

4
justrajdeep