diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2011-06-01 15:30:20 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2011-06-01 15:30:20 +0000 |
commit | 0cc65dba531a792db26592a4e9c1efe5f9f667bd (patch) | |
tree | 1ad820c23975f5ce55662bd6c27caee46fdb750b | |
parent | f1667d2c62ebd47b0e8bd48b2c64912b733066eb (diff) | |
download | zsh-0cc65dba531a792db26592a4e9c1efe5f9f667bd.tar.gz zsh-0cc65dba531a792db26592a4e9c1efe5f9f667bd.tar.xz zsh-0cc65dba531a792db26592a4e9c1efe5f9f667bd.zip |
users/16064: example widget for line motion inside multiline buffers
without navigating history
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Functions/Zle/move-line-in-buffer | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index e938d66cd..eb64cd4cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-06-01 Barton E. Schaefer <schaefer@zsh.org> + * users/16064: Functions/Zle/move-line-in-buffer: example widget + for moving in multiline buffers without navigating history + * 29416 (plus typo fixes): Doc/Zsh/contrib.yo: Fix (mis-)uses of var() in vcs_info documentation. @@ -14909,5 +14912,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5351 $ +* $Revision: 1.5352 $ ***************************************************** 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 |