Keluar dari mode Terminal di Neovim

60

Saya tidak tahu cara kembali ke Normalmode setelah masuk Terminalke Insertmode ...

Melarikan diri sepertinya tidak berhasil.

Ada ide ?

Stephane Rolland
sumber

Jawaban:

58

Anda seharusnya menekan <C-\><C-n>.

Lihat :help terminal-emulatorsaran pemetaan.

romainl
sumber
2
Halaman bantuan tidak berfungsi untuk saya. Saya harus menggunakan :help terminal-emulator-input.
jasonzhao
3
Sekarang hanya: h terminal-emulator
41

Jawaban oleh @romainl sudah benar, tetapi saya ingin menambahkan sedikit lebih banyak info untuk siapa saja yang mungkin menemukan ini dari google seperti yang saya lakukan.

Langsung dari dokumen kami mendapatkan catatan ini:

Mode terminal memiliki namespace sendiri untuk pemetaan, yang diakses dengan awalan "t". Dimungkinkan untuk menggunakan pemetaan terminal untuk menyesuaikan interaksi dengan terminal. Misalnya, inilah cara memetakan untuk keluar dari mode terminal:

:tnoremap <Esc> <C-\><C-n>

Dengan pengetahuan itu Anda kemungkinan besar perlu membuat beberapa pemetaan terminal agar tetap sejalan dengan alur kerja Anda saat ini (gerakan tab / jendela, dll.)

Dan Bradbury
sumber
Hai, saya mengatur pemetaan yang tepat, tapi saya menekan <Esc> dan tidak ada yang terjadi. Ada yang tahu kenapa?
Kevin Burke
jika Anda menambahkannya dari mode Ex apakah hasilnya sama? mungkin memperbarui file konfigurasi yang salah ..
Dan Bradbury
1
Terima kasih. Ini membantu saya menambahkan pemetaan pilihan sayatnoremap kj <C-\><C-n>
Nick Merrill
2

Keluar & tutup

tnoremap <Esc> <C-\><C-n>:q!<CR>

Di Vim 8, ini juga berfungsi:

tnoremap <ESC> <C-w>:q!<CR>
Serge Stroobandt
sumber
1
Anda tidak perlu Nmasuk <c-w>N, Anda cukup menekan :setelah <c-w>. Dan jika Anda benar-benar ingin menutup Vim dengan semua buffer dan jendela terbuka, daripada :qa!mungkin pilihan yang lebih baik. Tetapi seseorang akan kehilangan semua perubahan dalam kasus itu.
Christian Brabandt
1

Jika Anda menggunakan Tmux, Anda mungkin telah menginstal beberapa binding "seperti vim" untuk bergerak di panel jendela yang antara lain ambil "C- \" sebelum Vim memiliki kesempatan untuk menggunakannya. Jika demikian, hapus ini dari Anda .tmux.confdan mulai ulang tmux:

bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
bind-key -T copy-mode-vi C-\ select-pane -l

Mark Stosberg
sumber