T: apakah ada cara untuk mengatur margin gulir yang berbeda di bagian atas dan bawah jendela?
Variabel scroll-margin
(didefinisikan dalam kode sumber C) menetapkan berapa banyak baris teks yang Emacs tampilkan, minimal, di bagian atas dan bawah jendela:
Jumlah garis margin di bagian atas dan bawah jendela. Masukkan kembali jendela kapan pun titik masuk dalam banyak baris ini di bagian atas atau bawah jendela.
Saya ingin menggunakan scroll-margin
untuk bagian bawah jendela, tetapi tidak ingin itu di bagian atas (misalnya, nilai positif di bagian bawah, tetapi 0 di bagian atas). Apakah ada cara untuk melakukannya?
(top . bottom)
untuk scroll-margin
.
window-scroll-functions
kail (yang mengambil dua argumen) dan menempatkan recenter
perintah ke dalam fungsi yang melekat pada kail itu dan kemudian menggunakan pengaturan (setq scroll-conservatively 101)
- pada dasarnya, Anda menentukan kapan recentering terjadi dan mematikan built-in auto -kontrol. Sesuatu seperti(when (and (>= (point) (window-end nil t)) (not (pos-visible-in-window-p (point) (get-buffer-window (current-buffer) (selected-frame))))) (recenter))
scroll-margin
bukan alat yang tepat untuk pekerjaan itu. Anda mungkin memerlukan beberapa fungsi untuk digunakanpost-command-hook
untuk menentukan apakah akan menggulir jendela.