Я іноді намагався викликати Vim за допомогою xargs
такого:
find . -name '*.java' | xargs vim
… Які твори:
Коли Vim запускається, я коротко бачу такий попереджувальний спалах:
Vim: Warning: Input is not from a terminal
- Працює редагування -
:files
правильно перелічує всі.java
файли, як очікувалося. - Я можу зберегти і вийти.
Однак після виходу з Vim мій термінал працює:
- Що б я не набрав у запиті оболонки, це не відлунне.
- Повернення перевезення взагалі не відображаються, а канали рядків відображаються лише іноді.
Це триває, поки я reset(1)
не видаю команду повторно ініціалізувати термінал.
Це помилка Vim, чи є більш задовільне пояснення того, чому він взаємодіє з терміналом так? Я бачив, як це відбувається на Vim до версії 7.3 (версія, здається, не має значення) в Linux та різних Unices.
Мені відомо одне вирішення, а саме vim $(find . -name '*.java')
. Інші способи подолання будуть вітатися, хоча це не моє головне питання.
xargs
використовує манекен,stdin
який не може бути використаний Vim та перерви все згодом.