Cuộn màn hình, không phải con trỏ, khi sử dụng con lăn


18

Tôi đang sử dụng Vim trong một thiết bị đầu cuối, do đó, việc cuộn bằng bánh xe cuộn sử dụng cú pháp \e[A\e[Bcú pháp (nơi \etượng trưng \x1bhoặc thoát).

Tuy nhiên, Vim diễn giải điều này bằng cách di chuyển con trỏ lên hoặc xuống một dòng. Hành vi mong muốn là màn hình được di chuyển lên hoặc xuống, thích <C-e><C-y>làm.

Làm cách nào tôi có thể bảo Vim di chuyển màn hình khi tôi sử dụng bánh xe cuộn của mình, trong khi vẫn giữ con trỏ trên cùng một dòng? Điều này sẽ hoạt động trong tất cả các chế độ phổ biến (chèn, bình thường, chọn trực quan).

Tôi đã thử, ví dụ, :nnoremap <esc>[A <C-e>(thay thế <esc>bằng một ký tự thoát theo nghĩa đen được chèn vào Ctrl+V Esc), nhưng điều này tỏ ra vô ích.

Tôi đang sử dụng Vim 7.4.52 trên Ubuntu 14.04 với Gnome.


Bạn có thể giới hạn câu hỏi cho một hệ điều hành hoặc môi trường cửa sổ?
200_success

@ 200_success Được rồi, tôi đã chỉnh sửa môi trường của mình thành câu hỏi.
Doorknob 3/2/2015

Tôi nghĩ rằng câu hỏi này cũng nên được gắn thẻ 'thiết bị đầu cuối'. Có phải nó không thể chỉnh sửa được vì nó đã được trả lời?
bsmith89

Câu trả lời:


12

Như @Doorknob đã nói trong bình luận của mình, đã :set mouse=akhắc phục vấn đề.


1
Có cách nào để làm điều này mà không cần thiết lập mouse=a? Tôi không muốn các nhấp chuột vô tình làm rối tung luồng chỉnh sửa của mình.
wchargein

các atrong mouse=alà viết tắt của all(không nối). từ :help mouse: "chuột có thể được bật cho các chế độ khác nhau ... Thông thường bạn sẽ bật chuột ở cả bốn chế độ với :: set mouse = a" ít nhất là trong vim của tôi khi tôi bật rằng nó không gây rối với chuyển đổi chế độ (chỉ kích hoạt cuộn - và "nhấp để đi đến dòng")
Fawix

2
Mặc dù chủ đề này đã cũ, nhưng đối với những người muốn set mouse=amà không có các nhấp chuột vô tình làm rối tung dòng chảy, :map <LeftMouse> <nop>sẽ thực hiện thủ thuật.
Nắng Pun

0

Hành vi mà bạn muốn là những gì xảy ra trên vim của tôi. Tôi không thể tìm thấy cài đặt bật / tắt. Có thể kiểm tra : cuộn giúp ? scrolloffcó thể tham gia

Bạn cũng có thể xem xét sử dụng nhãn hiệu như một cách giải quyết.

  1. ma (đặt dấu 'a')
  2. cuộn màn hình theo ý muốn
  3. `a (gửi con trỏ để đánh dấu 'a')

Tôi nhận được hành vi này ngay cả khi không tải vimrc ( vim -u NONE) của tôi . Đây là Vim 7.4 trên Ubuntu 14.04 với Gnome.
Doorknob

@Doorknob Và tôi nhận được cửa sổ thay vì con trỏ di chuyển mà không có .vimrc(chỉ set mouse=a). :help scrollingnói rằng hành vi cuộn là nền tảng cụ thể. Tôi đang sử dụng vim trong iterm2 trên OSX.
bsmith89

Aha! :set mouse=ađã khắc phục sự cố cho tôi. Chỉnh sửa câu trả lời của bạn và tôi sẽ chấp nhận nó. Cảm ơn!
Doorknob
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.