2013-07-21 30 views
8

Gần đây tôi đã thay đổi các phím mũi tên của mình để ánh xạ tới no-op để buộc bản thân mình sử dụng điều hướng vim đúng cách. Khi sử dụng hoàn thành từ trong vim một danh sách từ của các hoàn thành có thể bật lên. Tôi đã sử dụng để điều hướng điều này bằng cách sử dụng các phím mũi tên, nhưng bây giờ phải sử dụng ánh xạ giống như việc bắt đầu hoàn thành để lặp qua.Vim nhập chế độ nào khi menu hoàn thành hết?

Khi menu này bật lên, vim ở chế độ chèn, chuyển sang chế độ khác hoặc chuyển sang chế độ chèn đã sửa đổi (tương tự như chế độ dán), tôi có thể thay đổi các ánh xạ jk để di chuyển thông qua danh sách?

Nếu không có cách nào gọi phương thức bật cửa sổ bật lên và đóng?

+0

Nó vẫn là chế độ chèn, nhưng tôi không biết câu trả lời cho câu hỏi của bạn về móc mở và đóng –

+0

Sử dụng hjkl không phải là "thích hợp" hơn là sử dụng các mũi tên. Bạn đang tập trung năng lượng vào sai mục tiêu. Có những cách tốt hơn để di chuyển xung quanh hơn char-by-char hoặc line-by-line và đó là nơi bạn nên tập trung năng lượng của bạn. Và: tất nhiên là giúp đỡ. – romainl

Trả lời

3

Điều hướng hoàn thành qua <c-p><c-n>. Xem :h ins-completion để biết thêm thông tin.

2

Trình đơn bật lên của các ứng viên hoàn thành chế độ chèn thuộc về chế độ chèn, không có chế độ phụ đặc biệt cho nó. Để phân biệt, bạn phải sử dụng biểu thức bản đồ :inoremap <expr> với điều kiện trên pumvisible(). Ví dụ. để remap j để chọn ứng cử viên hoàn thành tiếp theo:

:inoremap <expr> j pumvisible() ? '<C-n>' : 'j' 

Lưu ý rằng với điều này, bạn sẽ không thể loại tên ứng cử viên có chứa j để khoan xuống và chọn từ danh sách (đó là đặc biệt hữu ích với :set completeopt+=longest).

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