繁体   English   中英

只有在没有给出文件名的情况下,我才能给 vim 取别名?

[英]How can I alias vim only if no filename given?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM