GNU/Linux >> Belajar Linux >  >> Linux

Cara membuka file di vim menggunakan pipa

Anda hampir selesai:

$ locate updatedb | head -1 | xargs vim

terkadang (pada terminal tertentu) Anda perlu mengatur ulang terminal setelah mengedit.

$ reset

Sebagai editor interaktif, Vim membutuhkan stdin dan stdout, jadi menggunakannya di dalam pipa bermasalah dan membuat Vim memperingatkan tentang hal ini. Untuk satu file saja, substitusi proses menyelesaikannya dengan mudah:

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

Anda juga dapat menggunakan backticks, dan itu bahkan berfungsi di dalam Vim itu sendiri:

:edit `locate updatedb | head -1`

Selain jawaban di atas, untuk menghindari "korupsi terminal" yang dinyatakan oleh Jacobo de Vera di komentar, gunakan opsi xargs -o atau --open-tty untuk membuat vim menganggap input dari terminal, bukan stdin.

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

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


Linux
  1. Bagaimana cara menyalurkan panggilan subproses ke file teks?

  2. VIM:cara menuju ke baris yang tepat di Ubuntu

  3. Bagaimana memulihkan file yang terbuka tetapi terhapus di Linux menggunakan ln, bukan cp?

  1. Bagaimana Cara Membuka File .8 Dengan Man?

  2. Bagaimana cara menulis stderr ke file saat menggunakan tee dengan pipa?

  3. Bagaimana Cara Menambahkan File di C, menggunakan Open in O_APPEND Mode di linux?

  1. Bagaimana cara membuka nama file putus-putus menggunakan terminal?

  2. Bagaimana cara mengisi file dengan FF menggunakan dd?

  3. Cara menampilkan deskriptor file terbuka tetapi tidak menggunakan perintah lsof