Je suis une sorte de novice Vim. Je voudrais envoyer le contenu du tampon actuel à stdin de la commande externe (disons mail). Mon objectif final est de définir un raccourci pour envoyer rapidement des e-mails à partir du tampon Vim actuel. Je suppose que cela devrait être trivial, mais je n'ai pas trouvé de moyen d'envoyer le tampon Vim à une commande externe. Merci d'avance.
Vous pouvez utiliser :w !cmd
pour écrire le tampon courant dans le stdin d'une commande externe. De :help :w_c
:
: [plage] w [rite] [++ opt]! {cmd}
Exécutez
{cmd}
avec[range]
lignes comme entrée standard (notez l'espace devant le'!'
).{cmd}
est exécuté comme avec":!{cmd}"
, tout'!'
est remplacé par la commande précédente|:!|
.
Une commande associée est :%!cmd
qui fait la même chose et remplace ensuite le tampon courant par la sortie de la commande. Alors :%!sort
invoquerait la commande de tri externe pour trier le tampon actuel en place.
Voici un exemple comment envoyer le tampon actuel à stdin externe à partir de la ligne de commande:
vim -es +"w >> /dev/stdout" -cq! /etc/hosts
Il est utile à des fins de script.
Pour plus d'astuces en ligne de commande, consultez: