Thoát khỏi chế độ Terminal trong Neovim


60

Tôi không thể tìm ra cách để quay trở lại Normalchế độ sau khi vào Terminaltrong Insertchế độ ...

Escape dường như không hoạt động.

Ý tưởng nào không ?

Câu trả lời:


58

Bạn có nghĩa vụ phải nhấn <C-\><C-n>.

Xem :help terminal-emulatorcho một đề nghị ánh xạ.


2
Trang trợ giúp không hoạt động với tôi. Tôi phải sử dụng :help terminal-emulator-input.
jasonszhao

3
Bây giờ chỉ là: h trình giả lập thiết bị đầu cuối

41

Câu trả lời của @romainl là chính xác nhưng tôi muốn thêm một chút thông tin cho bất kỳ ai có thể vấp phải điều này từ google như tôi đã làm.

Trực tiếp từ các tài liệu chúng tôi nhận được ghi chú này:

Chế độ đầu cuối có không gian tên riêng cho ánh xạ, được truy cập với tiền tố "t". Có thể sử dụng ánh xạ đầu cuối để tùy chỉnh tương tác với thiết bị đầu cuối. Ví dụ: đây là cách ánh xạ để thoát chế độ thiết bị đầu cuối:

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

Với kiến ​​thức đó, rất có thể bạn sẽ cần tạo một số ánh xạ đầu cuối để phù hợp với quy trình công việc hiện tại của bạn (chuyển động tab / cửa sổ, v.v.)


Xin chào, tôi đã thiết lập ánh xạ chính xác đó, nhưng tôi đang nhấn <Esc> và không có gì xảy ra. Bất cứ ý tưởng tại sao?
Kevin Burke

Nếu bạn thêm nó từ chế độ Ex thì kết quả có giống nhau không? có thể đang cập nhật tệp cấu hình sai ..
Dan Bradbury

1
Cảm ơn. Điều này giúp tôi thêm bản đồ ưa thích của mìnhtnoremap kj <C-\><C-n>
Nick Merrill

2

Thoát và đóng

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

Trong Vim 8, điều này cũng hoạt động:

tnoremap <ESC> <C-w>:q!<CR>

1
Bạn không cần Nvào <c-w>N, bạn chỉ cần nhấn :sau <c-w>. Và nếu bạn thực sự muốn đóng Vim với tất cả các bộ đệm và cửa sổ đang mở, thì đó :qa!có thể là lựa chọn tốt hơn. Nhưng người ta sẽ mất tất cả những thay đổi trong trường hợp đó.
Christian Brabandt

1

Nếu bạn đang sử dụng Tmux, bạn có thể đã cài đặt một số ràng buộc "giống như vim" để di chuyển trong các ô cửa sổ, trong số những thứ khác lấy "C- \" trước khi Vim có cơ hội sử dụng nó. Nếu vậy, hãy xóa chúng khỏi .tmux.confvà khởi động lại 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.