zshrc.d/30-functions-vim.zrc
author Mikael Berthe <mikael@lilotux.net>
Sat, 20 Aug 2022 14:39:34 +0200
changeset 56 d065bc0c6991
parent 28 aa674a9c97c2
permissions -rw-r--r--
viml: Pass all args to vim


# Change "viml file:n" to "vim file +n"
# Based on http://www.zsh.org/mla/users/2011/msg00333.html
#
function viml() {
    [[ "$#" != 1 || -r "$1" ]] && {
        vim "$@"
        return $?
    }

    local args
    args=(${(s.:.)1})
    [[ "$#args" -ge 2 && "$args[2]" == <-> ]] && \
        command vim "$args[1]" "+$args[2]"    || \
        command vim "$@"
}