2009-11-18 31 views
13

Có một số lệnh làm điều gì đó và sau đó nhập chế độ chèn. Cũng có các lệnh rời khỏi chế độ chèn và làm mọi thứ không?Trong Vim có nhiều cách để thoát khỏi chế độ chèn không?

Ví dụ, tôi thường xuyên làm điều này ...

kiểm soát[:wtrở

Trước khi tôi tạo ra một bản đồ, là đã có lệnh Vim mà không cái đó?

+0

Nếu tôi đọc chính xác, bạn muốn thoát chế độ chèn và lưu tệp? Điều đó có đúng không? –

+5

Có. Nhưng "có" chỉ có ba ký tự. Ở đó. Theo tôi, có hơn 15. – Ethan

+0

Theo hiểu biết tốt nhất của tôi, không có lệnh gốc nào trong vim để lưu một tệp như vậy, nhưng bạn chắc chắn có thể làm điều đó với imap mà tôi đã bỏ qua. Cá nhân, tôi cố gắng không sử dụng chèn ánh xạ chế độ. Tôi thích việc tách các chế độ. –

Trả lời

6

Nếu bạn muốn ánh xạ một vài phím để thực hiện những việc như lưu tệp trong khi ở chế độ chèn, bạn có thể sử dụng imap command. Này liên kết với F2 để thoát chế độ chèn và lưu các tập tin:

:imap <F2> <Esc>:w<CR> 

này liên kết với F2 để thoát chế độ chèn, lưu tập tin, và nhập lại chế độ chèn:

:imap <F2> <Esc>:w<CR>a 

Hoặc :

:imap <F2> <C-o>:w<CR> 
+1

lập bản đồ của tôi cho tiết kiệm là Ctrl + S: 'noremap : cập nhật ' 'vnoremap : cập nhật ' 'inoremap : cập nhật ' và trên mac Tôi ràng buộc iTerm2's Cmd + S tới Ctrl + S. Điều này đưa nó ra khỏi chế độ chèn nếu tôi đang ở chế độ chèn –

18

Người duy nhất tôi có thể nghĩ là c-o, cho phép bạn chạy một lệnh ở chế độ bình thường sau đó thả bạn trở lại chế độ chèn.

Ví dụ: a<c-o>~b sẽ dẫn đến Ab.

+0

Nhưng nó không làm mọi thứ, phải không? –

+1

Không, bạn nói đúng - nó chỉ cho phép bạn làm công cụ, nó không "làm việc cho bạn", vì vậy để nói chuyện. –

+0

Để lưu hồ sơ: imap w : w "làm những việc". Chọn một tổ hợp phím phù hợp cho bản đồ và ở đó bạn đi. – kotarak

22

Ngoài Esc (giống với^[),^C cũng thoát khỏi chế độ chèn.

+2

Tôi thực sự không nhớ nơi tôi phát hiện ra rằng một trong nhưng ALT + 0 cũng sẽ thoát khỏi chế độ chèn, tôi thấy rằng phím tắt rất dễ bấm – user544262772

2

ALt + lệnh cho phép bạn thực hiện lệnh từ chế độ INSERT, ví dụ reference:

alt + o để mở newline

alt + A để nối thêm

2

Nhấn Ctrl-L lá chế độ chèn trong evim, vậy tại sao không trong vim thường xuyên, quá? Thêm số này vào vimrc của bạn: : imap

Hoặc nếu bạn không muốn định cấu hình sử dụng vim Ctrl- [, như đề xuất của người khác.

+0

Cảm ơn, tôi đã sao chép/dán một chuỗi lệnh trong một thiết bị đầu cuối đã được viết "vim" và tôi đã bị mắc kẹt trong chế độ INSERT không thể thoát ra được. Ctrl + L đã giải quyết nó. – mveroone

Các vấn đề liên quan