En el editor de líneas ZSH, ¿cómo insertar una nueva línea?

12

Digamos que estoy editando una sola línea, con mi cursor en la posición indicada:

$ abc  def ghi

Ahora me gustaría dividirme en dos líneas y continuar editando (como presionar ENTER lo haría en un editor de texto):

$ abc
$  def ghi

¿Hay alguna manera de hacer esto en ZSH?

Owen
fuente
¿Debería abcejecutarse o desea insertar un \ncarácter en la posición del cursor?
mpy

Respuestas:

13

En el emacsmodo de ZLE :

... el carácter Control+ V(ASCII SYN) está vinculado al quoted-insertwidget. Entonces simplemente ingrese Control+ Vluego Control+ J(ASCII LF).

En el vimodo de ZLE :

... los caracteres Control+ Q(ASCII DC1) y Control+ Vestán vinculados al vi-quoted-insertwidget. Así que nuevamente ingrese Control+ V, luego Control+ J.

Recuerda:

Las nuevas líneas en el medio de las líneas de comando separan los comandos. (En la terminología del zshmanual: tanto la nueva línea como la ;terminación de una lista ). Cite la nueva línea si no desea eso.

JdeBP
fuente
Pude vincular el modo emacs a Shift + Enter para insertar automáticamente una inserción entre comillas. Sin embargo, desde que cambié al modo vim, no funciona. ¿Hay alguna manera de hacerlo funcionar en modo vim?
CMCDragonkai
En el modo emacs, también puede insertar una nueva línea con M-Return.
SilverWolf - Restablecer Monica
1

Aquí hay una forma "vimmer" en el modo ZLE vi que no involucra ctrlacordes.

si su línea tiene el siguiente aspecto y está en modo normal : $ abc ꕯ def ghi

escribe esto: DoESCp

Total de pulsaciones de teclas: 4.

explicación:

`D` cuts from cursor to the end of the line and places cut string in register
`o`opens a new line places the cursor in it, and switches to insert mode
`<esc>` switches to normal pode
`p` paste register content.
ninrod
fuente
1

Use ⌥↩︎ ( Option / Alt+ Return) o ⎋, ↩︎ ( Escentonces Return).

Esto solo funcionará si ha llamado bindkey -epreviamente o en algún lugar de su .zshrc.

SilverWolf - Restablece a Monica
fuente
PD: ¡ Esto también funciona en OS X ! Si presiona ⌥↩︎ en, digamos, el cuadro Mensajes, obtendrá una nueva línea. Sin embargo, no funciona en los cuadros de comentarios SE. (:
SilverWolf - Restablecer Monica