2013-02-12 67 views
14

Tôi thường vô tình nhấn quay lại khi nhập ở chế độ chèn. Để hoàn tác trả lại tình cờ, tôi thường nhấn backspace nhiều lần. Đầu tiên để loại bỏ tất cả các thụt đầu dòng tự động, và sau đó, cuối cùng, để loại bỏ các dòng mới.vim: undo newline ở chế độ chèn?

Có cách nào tốt hơn không. Một cái gì đó dọc theo dòng hoàn tác tác dụng của tổ hợp phím cuối cùng?

+2

Tôi làm ''. – romainl

+0

Hoàn hảo, chỉ là những gì tôi đang tìm kiếm! Tại sao bạn không gõ nó như là một câu trả lời để tôi có thể chấp nhận nó. –

+1

@Xavier Bạn có thể xem xét phục hồi câu trả lời của mình không? TIMTOWTDI, hãy xem các lựa chọn thay thế! (Hoặc có lẽ, bạn có thể giải thích tại sao cách tiếp cận này là xấu, theo ý kiến ​​của bạn?) – sehe

Trả lời

14

Trong tình hình chính xác cùng, tôi làm <C-w><C-w>. <C-w> là một nội dung tuyệt vời để có trong chế độ chèn.

+2

Tài liệu: 'i_CTRL-W' –

+0

TIL! Một quan sát khác: sau khi tận dụng sức mạnh thực sự của các lệnh Ex trong một năm, tôi phát hiện ra rằng các ràng buộc chế độ chèn ít được biết đến có thể là điểm mù --- tiếp theo --- sức mạnh đánh giá thấp của Vim để giải quyết! – sehe

+0

@sehe, * Tôi không tin bạn. * – romainl

2

Có, bạn có thể sử dụng lệnh "u" để hoàn tác. Nếu bạn đang ở chế độ INSERT chỉ cần nhấn "Ctrl + C" để dừng chèn và sau đó "u" và nhấn enter.

Tính năng này có phù hợp với bạn không?

Btw, làm lại những thay đổi sử dụng "Ctrl + R" ..

+3

'u' cũng sẽ hoàn nguyên bất kỳ điều gì bạn đã chèn vào dòng ở trên trước khi nhấn ''. – romainl

+0

Cảm ơn, nhưng như romainl chỉ ra, tôi sau đó mất những gì tôi đã gõ trước dòng mới. –

+1

Bạn có thể sử dụng ánh xạ sau: 'inoremap u ' để ngắt chuỗi hoàn tác và bắt đầu thay đổi mới ngay trước khi trả lại. –

3

CTRL-W xóa từ cuối cùng được nhập. Nếu bạn đã gõ vài từ hoặc mức độ nhận dạng là sâu có thể phù hợp hơn với nhu cầu của bạn, vì nó xóa mọi thứ bạn đã nhập trong phiên chế độ chèn hiện tại.

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