我使用 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
命令修复它。
如何修改该函数以免发生这种情况?
最佳答案
当您在 xargs
下运行命令时,其标准输入将连接到 /dev/null
。 vi
可能没有预料到这一点。文本编辑器通常应该在没有 I/O 重定向的情况下运行。尝试一下,看看它在您的终端上是否有相同的效果。我打赌确实如此:
vi somefile </dev/null
您需要使用 xargs 以外的其他方法来解决此问题。也许像这样:
vi $(find . -name "$*")
关于vim - zsh 函数退出后搞砸了提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817256/