Подтвердить что ты не робот

EMACS:: linum-mode и размер шрифта (номера нечитабельной строки)

При использовании linum-mode в emacs и при увеличении шрифта на M-x text-scale-increase, меня беспокоит одна вещь. Шрифт для номеров строк имеет тот же размер, что и чтение, и не подходит в left-margin в левой части буфера!

1 Нормальный размер шрифта, OK Everything works as should be

2 Увеличенный размер шрифта, более читаемый FUUUUU enter image description here


What I'd really like to have:

Когда увеличить/уменьшить шрифт Я хочу, чтобы один из них работал

  • затем увеличить/уменьшить ширину левого края (соответственно слева)
  • то не изменяйте шрифт для левого поля , но увеличивайте/уменьшайте расстояние между номерами строк

    Есть ли у кого-нибудь предложения?  Спасибо, ребята

4b9b3361

Ответ 2

Я думаю, что могу исправить эту проблему со следующим кодом:

(require 'linum)
(defun linum-update-window-scale-fix (win)
  "fix linum for scaled text"
  (set-window-margins win
          (ceiling (* (if (boundp 'text-scale-mode-step)
                  (expt text-scale-mode-step
                    text-scale-mode-amount) 1)
              (if (car (window-margins))
                  (car (window-margins)) 1)
              ))))
(advice-add #'linum-update-window :after #'linum-update-window-scale-fix)

Кажется, что работает, по крайней мере, с 24.5.

Ответ 3

M-x customize-face [RETURN] linum-mode

Ответ 4

Самое простое, самое простое решение, которое я видел, только чтобы установить номера строк на фиксированную высоту. Это можно легко выполнить в соответствии с user78810: https://unix.stackexchange.com/questions/29786/font-size-issues-with-emacs-in-linum-mode/146781#146781

Для этого добавьте следующую строку в конфигурацию emacs (или в вашу функцию dotspacemacs/user-config, если вы разделите злой стиль):

(eval-after-load "linum"
  '(set-face-attribute 'linum nil :height 100))

Ответ 5

Я бы прокомментировал решение на основе customize-face, если бы мог. Это хорошо работает для меня. Фактическое лицо linum, а не linum-mode, по крайней мере, в моем emacs-24.3.1. В буфере настройки я нажал "Показать все атрибуты", а затем установил высоту лица на 100 десятых пункта. Если для вас приемлемо лицо фиксированного размера для номеров линий (как для меня), решение на основе customize-face является простым.