Q: có cách nào để đặt các lề cuộn khác nhau ở trên cùng và dưới cùng của cửa sổ không?
Biến scroll-margin
(được xác định trong mã nguồn C) đặt số lượng dòng văn bản mà Emacs hiển thị, ở mức tối thiểu, ở trên cùng và dưới cùng của cửa sổ:
Số dòng lề ở trên cùng và dưới cùng của một cửa sổ. Nhớ lại cửa sổ bất cứ khi nào điểm nằm trong nhiều dòng trên cùng hoặc dưới cùng của cửa sổ.
Tôi muốn sử dụng scroll-margin
cho dưới cùng của cửa sổ, nhưng không muốn nó ở trên cùng (ví dụ: giá trị dương ở dưới cùng, nhưng 0 ở trên cùng). Có cách nào để làm vậy không?
Để theo dõi nhận xét trước đây của tôi, việc tìm hiểu có bao nhiêu dòng có thể nhìn thấy xung quanh điểm có vẻ rất không cần thiết, xem xét các dòng được bọc, văn bản ẩn và những thứ tương tự. Tôi nghi ngờ thông tin cần thiết chỉ dễ dàng có sẵn trong mã hiển thị. Bạn có thể thử gửi một yêu cầu tính năng cho phép (ví dụ) một nhược điểm
—
Harald Hanche-Olsen
(top . bottom)
cho scroll-margin
.
Bạn có thể thích chơi với
—
luật
window-scroll-functions
hook (cần hai đối số) và đặt recenter
lệnh vào một hàm được gắn vào hook đó và sau đó sử dụng một cài đặt (setq scroll-conservatively 101)
- về bản chất, bạn xác định khi xảy ra quá trình lặp lại và tắt tự động tích hợp -croll. Một cái gì đó giống như(when (and (>= (point) (window-end nil t)) (not (pos-visible-in-window-p (point) (get-buffer-window (current-buffer) (selected-frame))))) (recenter))
@lawlist: cảm ơn bạn đã gợi ý, nhưng phần cuối của chuỗi doc có dòng chữ "Cảnh báo: Không sử dụng tính năng này để thay đổi cách cuộn cửa sổ. Nó không được thiết kế cho điều đó và việc sử dụng như vậy có thể sẽ không hoạt động."
—
Dân
Câu hỏi thú vị, tôi tự hỏi tại sao không có bình luận / bình chọn cho câu trả lời được cung cấp bởi PythonNut.
—
Tên
scroll-margin
rất có thể đó không phải là công cụ phù hợp cho công việc. Bạn có thể cần một số chức năng để đưa vàopost-command-hook
để xác định xem có nên cuộn cửa sổ hay không.