在 ZSH 行编辑器中,如何插入新行?

在 ZSH 行编辑器中,如何插入新行?

假设我正在编辑一行,光标位于指示的位置:

$ abc ꕯ def ghi

我现在想分成两行并继续编辑(就像在文本编辑器中按 ENTER 键一样):

$ abc
$ ꕯ def ghi

有没有办法在 ZSH 中做到这一点?

答案1

在 ZLEemacs模式下:

Control+V字符 (ASCII SYN) 已绑定到quoted-insert小部件。因此只需输入Control+V然后输入Control+ J(ASCII LF)。

在 ZLEvi模式下:

Control+ Q(ASCII DC1) 和Control+V字符已绑定到vi-quoted-insert小部件。因此,在插入模式下,只需输入Control+ V,然后输入Control+ J

记住:

命令行中间的换行符用于分隔命令。(在手册的术语中zsh:换行符和;终止符都是列表.)如果您不想这样,请引用换行符。

答案2

使用 ⌥↩︎ ( Option / Alt+ Return),或者 ⎋, ↩︎ (Esc然后Return)。

bindkey -e这仅在您之前调用过或在 .zshrc 中的某处才会起作用。

答案3

这是 ZLE vi 模式中的一种不涉及ctrl和弦的“vimmer”方式。

如果你的线路如下所示,并且你位于普通的模式:$ abc ꕯ def ghi

输入:DoESCp

总按键次数:4。

解释:

`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.

相关内容