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-marginuntuk 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-functionskail (yang mengambil dua argumen) dan menempatkan recenterperintah 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-marginbukan alat yang tepat untuk pekerjaan itu. Anda mungkin memerlukan beberapa fungsi untuk digunakanpost-command-hookuntuk menentukan apakah akan menggulir jendela.