2

我有一个奇怪的问题,如果我在 gnu 屏幕窗口中做这样的事情,该窗口开始以奇怪的方式响应

ls *.cpp | xargs vim

从 vim 退出后,屏幕窗口不回显任何命令。它甚至不回显 CR。

有什么建议么?

4

3 回答 3

3

管道更改 vim 的标准输入并导致问题。试试这个(对于 bash、zsh 等):

vim $(find . -name "*.cpp")
于 2012-06-25T18:41:00.060 回答
2

怎么样vim *.cpp

也许for file in *.cpp; do vim "$file"; done也可以工作。编辑每个文件并退出。

或者使用以下命令启动vim并添加所有文件:cpp:argadd *.cpp

于 2012-06-25T10:53:37.337 回答
2

在这样的管道中使用 Vim 时,您可能会注意到以下警告:

Vim: Warning: Input is not from a terminal

那是 Vim 告诉你它不能像它应该的那样运行(即在交互模式下;你仍然可以通过输入 Ex 命令来处理它,在“批处理模式”下使用它)。这就解释了你在 Vim 退出后所经历的怪事。

于 2012-06-25T11:42:36.220 回答