假设我正在编辑一行,光标位于指示的位置:
$ 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.