1
- #! /bin/bash
1
+ #! /bin/sh
2
2
# The argument fixes were supplied by John Kugelman
3
3
# https://stackoverflow.com/a/44745698/2689923
4
- vim_cmds=()
5
4
6
5
PRINT_ALL=1
7
6
DISABLE_VIMRC=0
8
7
MODE=none
9
8
10
- while (( $# > 0 )) ; do
9
+ set -- " $@ " ' ---vims-end---'
10
+ while : ; do
11
11
case " $1 " in
12
+ ---vims-end---) shift ; break ;;
12
13
-n|--silent|--quiet) PRINT_ALL=0;;
13
14
-d|--disable-vimrc) DISABLE_VIMRC=1;;
14
15
-e|--exe-mode) MODE=exe;;
@@ -18,11 +19,11 @@ while (($# > 0)); do
18
19
-t|--turn-off-mode) MODE=none;;
19
20
* )
20
21
case " $MODE " in
21
- none) vim_cmds+=(- c " $1 " ) ;;
22
- simple) vim_cmds+=(- c " :exe \" norm gg" " $1 " " \" " ) ;;
23
- line-exe) vim_cmds+=(- c " :%g/.*/exe \" norm " " $1 " " \" " ) ;;
24
- exe) vim_cmds+=(- c " %g/$1 /exe \" norm $2 \" " ) ; shift ;;
25
- inverse-exe) vim_cmds+=(- c " %v/$1 /exe \" norm $2 \" " ) ; shift ;;
22
+ none) set -- " $@ " - c " $1 " ;;
23
+ simple) set -- " $@ " - c " :exe \" norm gg" " $1 " " \" " ;;
24
+ line-exe) set -- " $@ " - c " :%g/.*/exe \" norm " " $1 " " \" " ;;
25
+ exe) set -- " $@ " - c " %g/$1 /exe \" norm $2 \" " ; shift ;;
26
+ inverse-exe) set -- " $@ " - c " %v/$1 /exe \" norm $2 \" " ; shift ;;
26
27
esac
27
28
;;
28
29
esac
33
34
# Taken from Csaba Hoch:
34
35
# https://groups.google.com/forum/#!msg/vim_use/NfqbCdUkDb4/Ir0faiNaFZwJ
35
36
if [ " $PRINT_ALL " -eq " 1" ]; then
36
- vim_cmds+=(- c " :%p" )
37
+ set -- " $@ " - c " :%p"
37
38
fi
38
39
if [ " $DISABLE_VIMRC " -eq " 1" ]; then
39
- vim_cmds=(- u NONE " ${vim_cmds[@]} " )
40
+ set -- - u NONE " $@ "
40
41
fi
41
42
42
- vim - -nes " ${vim_cmds[@]} " -c ' :q!' | tail -n +2
43
+ vim - -nes " $@ " -c ' :q!' | tail -n +2
0 commit comments