GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ouvrir un fichier dans vim en utilisant pipe

Vous avez presque terminé :

$ locate updatedb | head -1 | xargs vim

parfois (sous certains terminaux), vous devez réinitialiser le terminal après l'édition.

$ reset

En tant qu'éditeur interactif, Vim a besoin à la fois de stdin et de stdout, donc l'utiliser dans un tube est problématique et met Vim en garde à ce sujet. Pour un seul fichier, la substitution de processus résout ce problème facilement :

vim "$(locate updatedb | head -1)"

Vous pouvez également utiliser des backticks, et cela fonctionne même dans Vim lui-même :

:edit `locate updatedb | head -1`

En plus de la réponse ci-dessus, pour éviter la "corruption du terminal" indiquée par Jacobo de Vera dans le commentaire, utilisez l'option xargs -o ou --open-tty pour faire supposer à vim que l'entrée provient d'un terminal, pas de stdin.

$ locate updatedb | head -1 | xargs -o vim

Voir :https://unix.stackexchange.com/a/44428/307359


Linux
  1. Comment écrire stderr dans un fichier tout en utilisant tee avec un tuyau ?

  2. Comment diriger un appel de sous-processus vers un fichier texte ?

  3. Comment ajouter au fichier en C, en utilisant Open in O_APPEND Mode sous Linux ?

  4. Comment ouvrir un nom de fichier en pointillés à l'aide du terminal ?

  5. Comment supprimer un fichier sans utiliser rm ?

Comment décompresser (ouvrir) le fichier Gz

Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux

Comment protéger par mot de passe un fichier à l'aide de Vim sous Linux

Comment ouvrir un fichier sous Linux

Comment :une introduction à l'utilisation de Git

Comment protéger les fichiers par mot de passe à l'aide de l'éditeur Vim dans Ubuntu