1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 17:01:19 +02:00
zsh/Functions/Zle/edit-command-line

21 lines
545 B
Plaintext
Raw Normal View History

2000-05-10 15:32:23 +02:00
# 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.
2000-05-10 15:32:23 +02:00
local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$
print -R - "$PREBUFFER$BUFFER" >$tmpfile
2000-05-10 15:32:23 +02:00
exec </dev/tty
${VISUAL:-${EDITOR:-vi}} $tmpfile
zle kill-buffer
BUFFER=${"$(<$tmpfile)"/$PREBUFFER/}
CURSOR=$#BUFFER
2000-05-10 15:32:23 +02:00
command rm -f $tmpfile
2000-05-10 15:32:23 +02:00
zle redisplay