Что вызывает эту графическую ошибку в emacs с linum-mode на OS X? - PullRequest
12 голосов
/ 07 февраля 2011

Я получаю эту графическую ошибку с linum-mode в моем Emacs.Я попытался обновить с 23 до 24 (через git), и я пробовал как с различными поставляемыми двоичными файлами онлайн, так и с моей домашней версией.Что меня действительно интересует, так это то, с чего начать диагностику проблемы.

Проблема исчезнет, ​​если я прокручиваю разорванные номера строк за пределы экрана и обратно.

Ответы [ 5 ]

11 голосов
/ 23 марта 2011

Я столкнулся с той же проблемой и потратил довольно много времени, пытаясь ее решить.Графическая ошибка является результатом столкновения между линейным режимом и тем, как отображается полоса.К сожалению, мне не удалось решить эту проблему в linum.el, и дополнительный код дисплея является частью C-source.

Это еще можно сделать!Самый простой способ исправить это - просто отключить бахрому.

M-x fringe-mode RET none RET

Чтобы сделать бахрому навсегда отключенной, я рекомендую настроить параметры с помощью M-x customize-group RET fringe, поскольку некоторые скомпилированные версии Emacs для Mac OS Xу меня есть свои собственные настройки полосы, которые могут переопределять части вашего файла .emacs.

Мне не нужны эти индикаторы переноса строк, поэтому отсутствие полосы не беспокоит меня.Однако я пропустил небольшое разделение между номерами строк и текстом буфера.Я последовал совету поста на Emacs Wiki, чтобы вернуть это расстояние.В версии 0.9x linum измените строку 160 с

(setq width (max width (length str)))

на

(setq width (max width (+ (length str) 1)))

Вдохновение для этого изменения здесь: http://www.emacswiki.org/emacs/LineNumbers

Есть аргументыпо исходной ссылке, чтобы установить переменную linum-format вместо изменения linum.el.Хотя я понимаю, откуда они берутся, большинство цветовых тем в наши дни закрашивают дополнительное пространство и не дают того, что я ищу (разделение пространства, являющегося цветом фона).Если вы редактируете linum.el, обязательно запустите

M-x emacs-lisp-byte-compile-and-load

, чтобы сделать изменения постоянными.Вы можете увидеть результат этого, посмотрев на пробел перед курсором на рисунке, найденном здесь: http://i.stack.imgur.com/TxyMr.png (у меня недостаточно репутации, чтобы вставлять изображения).

Нет больше графических артефактов!

8 голосов
/ 17 ноября 2011

У меня была та же проблема, и я нашел решение, и, хотя оно не самое красивое, из-за дополнительного пробела слева от номера строки, оно гораздо элегантнее, чем изменение linum.el. Вот подходящая часть моего ~ / .emacs:

;; Linum mode                                                                                                                                                                                                                           
(global-linum-mode t)                                                                                                                                                                                                                   
;; Offset the number by two spaces to work around some weird fringe glitch                                                                                                                                                                     
(setq linum-format "  %d ")

Это устраняет проблему наложения полос и не оказывает никакого другого влияния, кроме смещения номера строки.

0 голосов
/ 30 декабря 2014

Проблема была все еще здесь в emacs 24.4, OS X 10.10.1. Решение, которое я разработал: после загрузки темы на ваш выбор:

(load-theme 'whatever)
(set-face-attribute 'fringe nil :background (face-background 'default))
0 голосов
/ 17 июля 2012

, чтобы сделать разделение между номерами строк и текстом буфера, следующее изменение будет лучше:

В версии 0.9x linum измените строку 150 с

(concat "%"(число в строку w)" d ")))))

до

(concat"% "(число в строку w)" d ")))))

Это позволяет разделить один и тот же цвет фона с номерами строк '.

0 голосов
/ 24 марта 2011

Это то, как я настроил его в моем .emacs, и у меня нет проблемы, хотя я также не использую emacs с gtk или любым другим графическим интерфейсом.

(linum-mode +1)

(setq linum-format "% d")

Возможно, вы захотите взломать с помощью (setq linum-format) чтобы увидеть, можете ли вы получить хорошие результаты.Также не забудьте просмотреть emacswiki на linum .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...