# HG changeset patch # User zegervdv # Date 1412145425 -7200 # Node ID 83a863716c117c687174a0cd969fe8adba7948ef # Parent 51924b06932438e5f730adc177fa279c0048e5e8 Add v plugin diff -r 51924b069324 -r 83a863716c11 bin/v --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/v Wed Oct 01 08:37:05 2014 +0200 @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +[ "$vim" ] || vim=vim +[ $viminfo ] || viminfo=~/.viminfo + +usage="$(basename $0) [-a] [-l] [-[0-9]] [--debug] [--help] [regexes]" + +[ $1 ] || list=1 + +fnd=() +for x; do case $x in + -a) deleted=1;; + -l) list=1;; + -[1-9]) edit=${x:1}; shift;; + --help) echo $usage; exit;; + --debug) vim=echo;; + --) shift; fnd+=("$@"); break;; + *) fnd+=("$x");; +esac; shift; done +set -- "${fnd[@]}" + +[ -f "$1" ] && { + $vim "$1" + exit +} + +while IFS=" " read line; do + [ "${line:0:1}" = ">" ] || continue + fl=${line:2} + [ -f "${fl/\~/$HOME/}" -o "$deleted" ] || continue + match=1 + for x; do + [[ "$fl" =~ $x ]] || match= + done + [ "$match" ] || continue + i=$((i+1)) + files[$i]="$fl" +done < "$viminfo" + +if [ "$edit" ]; then + resp=${files[$edit]} +elif [ "$i" = 1 -o "$list" = "" ]; then + resp=${files[1]} +elif [ "$i" ]; then + while [ $i -gt 0 ]; do + echo -e "$i\t${files[$i]}" + i=$((i-1)) + done + read -p '> ' CHOICE + resp=${files[$CHOICE]} +fi + +[ "$resp" ] || exit +$vim "${resp/\~/$HOME}" diff -r 51924b069324 -r 83a863716c11 vimrc --- a/vimrc Tue Sep 30 18:20:34 2014 +0200 +++ b/vimrc Wed Oct 01 08:37:05 2014 +0200 @@ -30,7 +30,7 @@ set lbr set tabstop=2 shiftwidth=2 if has("gui_running") - set background=dark + " set background=dark " color base16-ocean color Tomorrow-Night else