【问题标题】:zsh function screws up prompt after exitzsh 函数退出后提示错误
【发布时间】:2012-01-11 09:53:38
【问题描述】:

我使用 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 命令修复它。

如何修改函数以使这种情况不会发生?

【问题讨论】:

    标签: vim find zsh prompt


    【解决方案1】:

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

    vi somefile </dev/null
    

    您将需要使用 xargs 以外的其他方法来解决此问题。可能是这样的:

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

    【讨论】:

    • 另外,如果你不小心搞砸了终端(不是zsh),使用reset...重置它
    猜你喜欢
    • 1970-01-01
    • 2021-09-27
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2020-11-04
    • 2018-07-10
    相关资源
    最近更新 更多