about summary refs log tree commit diff
path: root/Functions/Zle
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2002-11-22 12:05:26 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2002-11-22 12:05:26 +0000
commitb71ba061fb5ce1f04416248b64fb839d5b03da9c (patch)
tree2bf86f934d8234a3d85a5359dc03f0b718b63e02 /Functions/Zle
parent9671d37b55f32e3958a3ba3d2f74651347a31219 (diff)
downloadzsh-b71ba061fb5ce1f04416248b64fb839d5b03da9c.tar.gz
zsh-b71ba061fb5ce1f04416248b64fb839d5b03da9c.tar.xz
zsh-b71ba061fb5ce1f04416248b64fb839d5b03da9c.zip
merge changes from 4.1 branch
Diffstat (limited to 'Functions/Zle')
-rw-r--r--Functions/Zle/edit-command-line17
1 files changed, 17 insertions, 0 deletions
diff --git a/Functions/Zle/edit-command-line b/Functions/Zle/edit-command-line
new file mode 100644
index 000000000..f11a37482
--- /dev/null
+++ b/Functions/Zle/edit-command-line
@@ -0,0 +1,17 @@
+# Edit the command line using your usual editor.
+# Binding this to 'v' in the vi command mode map,
+#   autoload edit-command-line
+#   zle -N edit-command-line
+#   bindkey -M vicmd v edit-command-line
+# will give ksh-like behaviour for that key,
+# except that it will handle multi-line buffers properly.
+
+local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$
+
+print -R - "$PREBUFFER$BUFFER" >$tmpfile
+exec </dev/tty
+${VISUAL:-${EDITOR:-vi}} $tmpfile
+print -Rz - "$(<$tmpfile)" 
+
+command rm -f $tmpfile
+zle send-break		# Force reload from the buffer stack