diff options
-rw-r--r-- | Makefile | 4 | ||||
-rwxr-xr-x | vp | 2 | ||||
-rw-r--r-- | vp.1 | 52 | ||||
-rwxr-xr-x | vpeval | 4 | ||||
-rw-r--r-- | vprc | 2 |
5 files changed, 64 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7f4e544 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +install: + install vp vpeval /usr/local/bin/ + cp vp.1 /usr/local/man/man1/vp.1 + cp vprc /usr/local/etc/vprc @@ -0,0 +1,2 @@ +#!/bin/sh +exec vi +':so /usr/local/etc/vprc' "$@" `mktemp` @@ -0,0 +1,52 @@ +.Dd $Mdocdate$ +.Dt vp 1 +.Os +. +.Sh NAME +.Nm vp +.Nd run commands interactively +. +.Sh SYNOPSIS +.Nm +.Op Ar arg ... +. +.Sh DESCIPTION +.Pp +.Nm +opens +.Xr vi 1 +with two custom key mappings, defined in +.Pa /usr/local/etc/vprc : +.Bl -tag +.It Sy g +Execute the buffer as a shell command +and append the output to the buffer +with each line beginning with +.Sq #\ . +Lines beginning with +.Sq # +are ignored by +.Sy g . +.It Sy q +Remove any lines not beginning with +.Sq # +and remove the +.Sq #\ +prefix from all remaining lines. +.El +.Pp +These mappings are useful for interactively testing shell commands. +Any arguments given to +.Nm +are passed on to +.Xr vi 1 . +. +.Sh AUTHORS +.Pp +.Nm +is written by John Ankarström +.Aq Mt john (at) ankarstrom.se . +It is inspired by Mateusz Czapliński's +.Em up +.Dq ( Ultimate Plumber ) +tool. @@ -0,0 +1,4 @@ +#!/bin/sh +c=`cat | sed '/^#/d'` +echo "$c" +echo "$(eval "$c" 2>&1)" | sed 's/^/# /' @@ -0,0 +1,2 @@ +map g :1,$!vpeval
/^#
k$ +map q :1,/^#/-1d
:%s/^# //g
:1
|