如何仅在没有指定文件名的情况下才为 vim 别名?



我想仅在未提供文件名时才alias vim = 'vim -o `fzf`'。如何进行此检查?我找到了一种方法来检查命令是否有参数:

if [ $# -eq 0 ]
then
alias vim = 'vim -o `fzf`'
fi

但这似乎势不可挡,我只想在使用 vim 时进行此检查。

定义函数

function runvim() {
if [ $# -eq 0 ] 
then
command vim -o `fzf`
else
command vim "$@"
fi
}

和函数的别名 vim

alias vim=runvim

经过编辑,以便函数使用command调用 vim(确保别名不会导致递归调用函数(并$@双引号,以便正确解析命令行参数。

最新更新