我想仅在未提供文件名时才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(确保别名不会导致递归调用函数(并$@
双引号,以便正确解析命令行参数。