2012-01-11 68 views
2

後提示我用的哦,我-zsh的定製和及時看起來像這樣zsh的功能砸了退出

┌─[[email protected]] - [~] - [Wed Jan 11, 03:16] 
└─[$] <> 

我已經在我的.zshrc定義一個函數來查找文件和Vim中打開它們。

vf() { 
    find . -name "$*" | xargs vi; 
} 

功能正常工作,但是當我退出Vim,及時擰起來,並顯示爲

┌─[[email protected]] - [~] - [Wed Jan 11, 03:20] 
              └─[$] <> 

按Ctrl-d等Ctrl鍵組合停止工作爲好。我必須使用reset命令修復它。

如何修改該功能,使其不會發生?

回答

4

當您運行xargs下的命令時,其標準輸入連接到/dev/nullvi可能不會期待這一點。文本編輯器通常應該在沒有I/O重定向的情況下運行。試試看看它是否對你的終端有相同的效果。我敢打賭:

vi somefile </dev/null 

你會想通過使用xargs以外的東西來解決這個問題。可能是這樣的:

vi $(find . -name "$*") 
+0

謝謝@Celada,工作。 – NOLFXceptMe 2012-01-11 12:42:23

+0

此外,如果你不小心把終端(而不是zsh)搞砸了,使用'reset'來重置它 – sehe 2012-01-11 13:03:09