GNU/Linux >> Znalost Linux >  >> Linux

Jak otevřít soubor ve vim pomocí pipe

Už jste skoro hotovi:

$ locate updatedb | head -1 | xargs vim

někdy (u některých terminálů) je třeba po úpravě terminál resetovat.

$ reset

Jako interaktivní editor potřebuje Vim stdin i stdout, takže jeho použití v rouře je problematické a Vim na to varuje. Pro pouhý jeden soubor to snadno vyřeší substituce procesu:

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

Můžete také použít zpětné zaškrtnutí, a to funguje i uvnitř samotného Vimu:

:edit `locate updatedb | head -1`

Kromě výše uvedené odpovědi, abyste se vyhnuli „poškození terminálu“, které uvedl Jacobo de Vera v komentáři, použijte volbu xargs -o nebo --open-tty aby vim předpokládal, že vstup pochází z terminálu, nikoli ze standardního rozhraní.

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

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


Linux
  1. Jak převedu volání podprocesu do textového souboru?

  2. VIM:jak přejít na přesnou linku na Ubuntu

  3. Jak podložit soubor pomocí FF pomocí dd?

  1. Jak používat typ souboru ve Vimu?

  2. Jak otevřít soubor .8 pomocí aplikace Man?

  3. Jak zapíšu stderr do souboru při použití tee s potrubím?

  1. Jak připojit k souboru v C pomocí Otevřít v režimu O_APPEND na linuxu?

  2. Jak otevřít - přerušovaný název souboru pomocí terminálu?

  3. Jak obnovit otevřený, ale smazaný soubor v Linuxu pomocí ln místo cp?