退出后zsh功能搞砸了提示

时间:2012-01-11 09:53:39

标签: vim find zsh prompt

我使用oh-my-zsh进行自定义,提示符如下所示

┌─[naveen@bblpt005] - [~] - [Wed Jan 11, 03:16]
└─[$] <> 

我在.zshrc中定义了一个函数来查找文件并在Vim中打开它们。

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

该功能按预期工作,但当我退出Vim时,提示被搞砸了,显示为

┌─[naveen@bblpt005] - [~] - [Wed Jan 11, 03:20]
                                           └─[$] <> 

Ctrl-D和其他Ctrl键组合也会停止工作。我必须使用reset命令修复它。

如何修改功能,以免发生这种情况?

1 个答案:

答案 0 :(得分:4)

xargs下运行命令时,其标准输入已连接到/dev/nullvi可能并不期待这一点。通常应该在没有I / O重定向的情况下运行文本编辑器。试试这个,看看它对你的终端是否有同样的效果。我打赌它确实:

vi somefile </dev/null

您将希望通过使用除xargs之外的其他内容来解决此问题。像这样可能:

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