Q: existe-t-il un moyen de définir différentes marges de défilement en haut et en bas d'une fenêtre?
La variable scroll-margin
(définie dans le code source C) définit le nombre de lignes de texte qu'Emacs affiche, au minimum, en haut et en bas d'une fenêtre:
Nombre de lignes de marge en haut et en bas d'une fenêtre. Plus récente la fenêtre chaque fois que le point se trouve dans ces nombreuses lignes du haut ou du bas de la fenêtre.
Je voudrais utiliser scroll-margin
pour le bas de la fenêtre, mais je ne veux pas qu'il soit en haut (par exemple, une valeur positive en bas, mais 0 en haut). Existe-t-il un moyen de le faire?
(top . bottom)
pour scroll-margin
.
window-scroll-functions
crochet (qui prend deux arguments) et à mettre une recenter
commande dans une fonction attachée à ce crochet, puis à utiliser un paramètre de (setq scroll-conservatively 101)
- en substance, vous définissez quand le recentrage se produit et désactivez l'auto intégrée -faire défiler. Quelque chose comme(when (and (>= (point) (window-end nil t)) (not (pos-visible-in-window-p (point) (get-buffer-window (current-buffer) (selected-frame))))) (recenter))
scroll-margin
n'est pas le bon outil pour le travail. Vous devrez peut-être une fonction à mettrepost-command-hook
pour déterminer s'il faut faire défiler la fenêtre.