vim退出时崩溃,缓冲区中有几个文件

yhuiod9q  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(135)

我识别具有特定特征的文件,并将它们拍摄到vim会话中,如。..
grep -rl '{{[a-z]*}}' | xargs vim
除了一个警告,这是有效的。我在vim中打开了7个文件。逐个编辑它们(完成后使用:w:bn用于转到下一个文件)。
在我的会话结束时,我执行qa,它退出,但冻结了整个bash。我通过名为“RemoteDesktopManager”的工具使用ssh访问该服务器。
无论如何,艾迪似乎是成功的。但是我不想撞车。我在上述工作流程中可能做错了什么?
我希望Vim关闭时不会冻结整个bash/ssh会话
编辑:我还注意到我的工作目录中还留有一个.swp。它不给予任何警告时,打开一个编辑的文件虽然。

pxy2qtax

pxy2qtax1#

现在我确信罪魁祸首在| xargs vim中--终端(不是Bash)冻结,因为vim是一个TUI程序,它的stdin/stdout/stderr不应该从终端重定向。
在已经冻结的终端上运行reset;你必须盲目地输入它,然后按Enter键,也许在reset之前按一个Enter键才能进入命令提示符。
要解决这个问题,请使用xargs -o vim来避免重定向。选项-o--open-tty/dev/tty重定向标准输入,从而允许vim顺利工作。

相关问题