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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
# Change "viml file:n" to "vim file +n"
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
# Based on http://www.zsh.org/mla/users/2011/msg00333.html
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
#
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
function viml() {
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     6
    [[ "$#" != 1 || -r "$1" ]] && {
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
        vim "$@"
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
        return $?
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
    }
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
    local args
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
    args=(${(s.:.)1})
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
    [[ "$#args" -ge 2 && "$args[2]" == <-> ]] && \
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
        command vim "$args[1]" "+$args[2]"    || \
56
d065bc0c6991 viml: Pass all args to vim
Mikael Berthe <mikael@lilotux.net>
parents: 28
diff changeset
    15
        command vim "$@"
28
aa674a9c97c2 Add a command viml
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
}