有没有办法通过按escape

问题描述

我的 alias vif='vim $(fzf) 中有 ~/.zprofile效果很好;但是,即使我点击 esc 按钮,它也总是打开 vim 窗口,因为我没有找到我要找的文件。如果我按 vim,如何让它不打开 esc

解决方法

使用 shell 函数,这将允许您检查 fzf 是否以非零状态退出。 (如果被 Esc 或 Ctrl+C 中断,它会以状态 130 退出。)

function vif() {
    local fname
    fname=$(fzf) || return
    vim "$fname"
}

当返回码不为零时,|| return 部分会提前中断,因此 vim 只会在成功执行 fzf 后调用。