Insert New Line in ZSH Line Editor

zsh

Say I am editing a single line, with my cursor at the indicated position:

$ abc ꕯ def ghi

I would now like to split into two lines and continue editing (like hitting ENTER would do in a text editor):

$ abc
$ ꕯ def ghi

Is there a way to do this in ZSH?

Best Answer

In ZLE's emacs mode:

… the Control+V character (ASCII SYN) is bound to the quoted-insert widget. So just enter Control+V then Control+J (ASCII LF).

In ZLE's vi mode:

… the Control+Q (ASCII DC1) and Control+V characters are bound to the vi-quoted-insert widget. So again, in insert mode, just enter Control+V, then Control+J.

Remember:

Newlines in the middle of command lines separate commands. (In the terminology of the zsh manual: both newline and ; terminate a list.) Quote the newline if you don't want that.

Related Question