From 0cc65dba531a792db26592a4e9c1efe5f9f667bd Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Wed, 1 Jun 2011 15:30:20 +0000 Subject: users/16064: example widget for line motion inside multiline buffers without navigating history --- Functions/Zle/move-line-in-buffer | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Functions/Zle/move-line-in-buffer (limited to 'Functions') diff --git a/Functions/Zle/move-line-in-buffer b/Functions/Zle/move-line-in-buffer new file mode 100644 index 000000000..1a0efd9ca --- /dev/null +++ b/Functions/Zle/move-line-in-buffer @@ -0,0 +1,16 @@ +#autoload + +# Line motions that do not leave the current history entry, +# for editing in multi-line buffers. + +# To use: +# autoload -Uz move-line-in-buffer +# zle -N up-line-in-buffer move-line-in-buffer +# zle -N down-line-in-buffer move-line-in-buffer +# +# then bindkey as you prefer + +local hno=$HISTNO curs=$CURSOR +zle .${WIDGET:s/in-buffer/or-history} "$@" && +    (( HISTNO != hno && (HISTNO=hno, CURSOR=curs) )) +return 0 -- cgit 1.4.1