我有一个奇怪的问题,如果我在 gnu 屏幕窗口中做这样的事情,该窗口开始以奇怪的方式响应
ls *.cpp | xargs vim
从 vim 退出后,屏幕窗口不回显任何命令。它甚至不回显 CR。
有什么建议么?
我有一个奇怪的问题,如果我在 gnu 屏幕窗口中做这样的事情,该窗口开始以奇怪的方式响应
ls *.cpp | xargs vim
从 vim 退出后,屏幕窗口不回显任何命令。它甚至不回显 CR。
有什么建议么?
管道更改 vim 的标准输入并导致问题。试试这个(对于 bash、zsh 等):
vim $(find . -name "*.cpp")
怎么样vim *.cpp
?
也许for file in *.cpp; do vim "$file"; done
也可以工作。编辑每个文件并退出。
或者使用以下命令启动vim
并添加所有文件:cpp
:argadd *.cpp
在这样的管道中使用 Vim 时,您可能会注意到以下警告:
Vim: Warning: Input is not from a terminal
那是 Vim 告诉你它不能像它应该的那样运行(即在交互模式下;你仍然可以通过输入 Ex 命令来处理它,在“批处理模式”下使用它)。这就解释了你在 Vim 退出后所经历的怪事。