Di editor baris ZSH, bagaimana cara memasukkan baris baru?

13

Katakanlah saya sedang mengedit satu baris, dengan kursor saya di posisi yang ditunjukkan:

$ abc  def ghi

Sekarang saya ingin membagi menjadi dua baris dan melanjutkan pengeditan (seperti menekan ENTER akan dilakukan dalam editor teks):

$ abc
$  def ghi

Apakah ada cara untuk melakukan ini di ZSH?

Owen
sumber
Haruskah abcdieksekusi atau Anda ingin memasukkan \nkarakter pada posisi kursor?
mpy

Jawaban:

14

Dalam emacsmode ZLE :

... karakter Control+ V(ASCII SYN) terikat dengan quoted-insertwidget. Jadi cukup masukkan Control+ Vlalu Control+ J(ASCII LF).

Dalam vimode ZLE :

... karakter Control+ Q(ASCII DC1) dan Control+ Vterikat pada vi-quoted-insertwidget. Jadi sekali lagi cukup masukkan Control+ V, lalu Control+ J.

Ingat:

Baris baru di tengah baris perintah memisahkan perintah. (Dalam terminologi zshmanual: baris baru dan ;mengakhiri daftar .) Kutip baris baru jika Anda tidak menginginkannya.

JdeBP
sumber
Saya dapat mengikat mode emacs ke Shift + Enter untuk secara otomatis memasukkan sisipan yang dikutip. Namun karena saya beralih ke mode vim, itu tidak berfungsi. Apakah ada cara untuk membuatnya berfungsi dalam mode vim?
CMCDragonkai
Dalam mode emacs, Anda juga dapat memasukkan baris baru dengan M-Return.
SilverWolf - Reinstate Monica
1

Berikut ini cara "vimmer" dalam mode-ZLE vi yang tidak melibatkan ctrlakor.

jika baris Anda terlihat seperti berikut, dan Anda berada dalam mode normal : $ abc ꕯ def ghi

ketik ini: DoESCp

penekanan tombol total: 4.

penjelasan:

`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
sumber
1

Gunakan ⌥↩︎ ( Option / Alt+ Return), atau ⎋, ↩︎ ( Esclalu Return).

Ini hanya akan berfungsi jika Anda telah menelepon bindkey -esebelumnya atau di suatu tempat di .zshrc Anda.

SilverWolf - Pasang kembali Monica
sumber
PS: Ini juga berfungsi di OS X ! Jika Anda menekan ⌥↩︎ in, katakanlah, kotak Pesan, Anda akan mendapatkan baris baru. Namun, tidak bekerja di kotak komentar SE. (:
SilverWolf - Reinstate Monica