0

我有alias vif='vim $(fzf)~/.zprofile而且效果很好;但是,即使我单击esc按钮,它总是会打开 vim 窗口,因为我没有找到我正在寻找的文件。vim如果按,如何使其无法打开esc

4

1 回答 1

2

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

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

function fcd() {
    local dirname
    dirname=$(find -type d | fzf) || return
    cd "$dirname"
}

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

于 2020-12-19T22:49:18.067 回答