5 votes

Comment puis-je rediriger la sortie de stdout dans vim ?

Je voudrais voir la sortie de echo dans vim, et enregistrer dans un fichier après y avoir jeté un coup d'œil. J'ai essayé echo $PATH | vim, mais je reçois l'erreur suivante :

Vim: Avertissement : L'entrée ne provient pas d'un terminal
Vim: Erreur de lecture de l'entrée, sortie...

Vim: Terminé.

Que puis-je faire ?

5voto

jopa Points 800

Vous manquez de l'argument de nom de fichier - qui indique à Vim de remplir le tampon à partir de stdin; voir :help --

echo $PATH | vim -

Alternativement, vous pouvez utiliser la substitution de processus de votre shell pour créer un descripteur de fichier temporaire et faire en sorte que Vim édite ce fichier "virtuel".

vim <(echo $PATH)

3voto

DavidPostill Points 140654

Comment puis-je rediriger la sortie de stout dans vim?

Votre question a été répondue sur AskUbuntu.

La solution la plus simple est d'ajouter - à votre commande:

echo $PATH | vim -

Vous pouvez utiliser la substitution de processus (cela fonctionne également avec les applications qui ne peuvent pas lire depuis STDIN):

vim <(ls -la)

Ou utilisez la fonction de vim pour lire depuis STDIN:

ls -la | vim -

Source Comment rediriger la sortie de commande vers vim dans bash?, réponse de Chaos

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X