有没有办法通过按 escape 来取消 fzf
Is there a way to cancel fzf by pressing escape
我的 ~/.zprofile
中有 alias vif='vim $(fzf)
,效果很好;但是,它总是打开 vim window 即使我点击 esc
按钮,因为我没有找到我要找的文件。如果我按 esc
,如何让它不打开 vim
?
使用 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代码为非零时,|| return
部分会提前爆发,所以vim
只会在fzf
执行成功后被调用。
我的 ~/.zprofile
中有 alias vif='vim $(fzf)
,效果很好;但是,它总是打开 vim window 即使我点击 esc
按钮,因为我没有找到我要找的文件。如果我按 esc
,如何让它不打开 vim
?
使用 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代码为非零时,|| return
部分会提前爆发,所以vim
只会在fzf
执行成功后被调用。