Saya terkadang mencoba memanggil Vim menggunakan xargs
, seperti ini:
find . -name '*.java' | xargs vim
... jenis pekerjaan apa:
Saat Vim diluncurkan, saya melihat lampu kilat peringatan berikut:
Vim: Warning: Input is not from a terminal
- Pengeditan berfungsi -
:files
dengan benar menyebutkan semua.java
file seperti yang diharapkan. - Saya bisa menyimpan dan berhenti.
Namun, setelah keluar dari Vim, terminal saya borked:
- Apa pun yang saya ketik di shell prompt tidak digaungkan.
- Pengembalian kereta tidak muncul sama sekali, dan umpan baris hanya kadang-kadang muncul.
Ini berlangsung sampai saya mengeluarkan reset(1)
perintah untuk menginisialisasi ulang terminal.
Apakah ini bug Vim, atau adakah penjelasan yang lebih memuaskan mengapa ia berinteraksi dengan terminal seperti itu? Saya telah melihatnya terjadi pada Vim hingga versi 7.3 (versi ini tampaknya tidak penting) di Linux dan berbagai Unix.
Saya menyadari satu solusi, yaitu vim $(find . -name '*.java')
. Penanganan lainnya akan disambut baik, meskipun itu bukan pertanyaan utama saya.
xargs
menggunakan bonekastdin
yang tidak dapat digunakan oleh Vim dan istirahat semuanya sesudahnya.