使用xargs vim和gnu屏幕

时间:2012-06-25 10:39:34

标签: vim gnu-screen xargs

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

ls *.cpp | xargs vim

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

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

vim *.cpp怎么样?

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

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

答案 1 :(得分:2)

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

Vim: Warning: Input is not from a terminal

这是Vim告诉你它不能正常运行(即在交互模式下;你仍然可以通过提供Ex命令来处理“批处理模式”)。这解释了Vim退出后你遇到的奇怪现象。

答案 2 :(得分:2)

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

vim $(find . -name "*.cpp")