zsh-users
 help / color / mirror / code / Atom feed
* Tip of the day: restoring an aborted command-line
@ 2015-07-01 22:12 Oliver Kiddle
  2015-07-02 21:29 ` zzapper
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Oliver Kiddle @ 2015-07-01 22:12 UTC (permalink / raw)
  To: zsh-users

When you abort a command-line with Ctrl-C or whatever, the Zsh line
editor sets $ZLE_LINE_ABORTED to the contents of the command-line before
it was aborted. Sometimes you might want to recover the aborted line
and you could bind a dedicated key to that purpose. The following trick
instead creates an undo event so that you can simply use an undo to get
back the aborted line:

  zle-line-init () {
    if [[ -n $ZLE_LINE_ABORTED ]]; then
      local savebuf="$BUFFER" savecur="$CURSOR"
      BUFFER="$ZLE_LINE_ABORTED" 
      CURSOR="$#BUFFER" 
      zle split-undo
      BUFFER="$savebuf" CURSOR="$savecur" 
    fi
  }
  zle -N zle-line-init

Undo is bound by default to ^_, ^X^U and ^Xu in emacs mode and u in vi
command mode but I find it useful to bind it in vi-insert mode.

Also note the push-input widget if you want to put the current command
line aside but later restore it.

Oliver


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-07-05 21:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-01 22:12 Tip of the day: restoring an aborted command-line Oliver Kiddle
2015-07-02 21:29 ` zzapper
2015-07-02 23:11   ` Philippe Troin
2015-07-03  2:42   ` Bart Schaefer
2015-07-03  8:56     ` zzapper
2015-07-03 15:49 ` Greg Klanderman
2015-07-05 16:26 ` lilydjwg
2015-07-05 18:43   ` Bart Schaefer
2015-07-05 21:17   ` Mikael Magnusson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).