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 ?

Jawaban:


58

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

Lihat :help terminal-emulatorsaran pemetaan.


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


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>

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.