我有一個奇怪的問題:當我做這樣的事情在GNU屏幕窗口vim中,該窗口開始怪異的方式使用xargs的使用GNU屏幕
ls *.cpp | xargs vim
響應後從VIM我退出後,屏幕窗口不迴應任何命令。它甚至不會回顯CR。
有什麼建議嗎?
我有一個奇怪的問題:當我做這樣的事情在GNU屏幕窗口vim中,該窗口開始怪異的方式使用xargs的使用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退出後遇到的奇怪現象。
您是否期待VIM爲您打開所有** cpp **文件。 我建議你在** VIM **中做這種事情,而不是這樣。 – zinking
爲什麼不直接使用vim'vim * .cpp' – nXqd
'vim * .cpp'會怎麼樣? – epsilonhalbe