LINUX.ORG.RU

Ускоряем emacs

 , xaw3d, yascroll


1

2

Делюсь историей успеха.

С момента апгрейда до Jessie, когда емакс начали собирать с GTK3, раздражали тормоза на моём карманном третьепне (Atom Z520 1.33Ghz).
Встроенный профайлер ничего особенного не находил, но было видно, как тормозит отрисовка.

В принципе, редко с большими файлами на этой машинке работаю, но таки достало. Пересобрал с GTK2 и -march=native.
Получше, но всё равно кисло. Попробовал поставть emacs24-lucid и о чудо: внезапно всё стало гораздо резвее.

С Xaw3d не без проблем правда.

Из гафики у меня виден только скроллбар, он страшненький и очень нечитаемый.
Его можно перекрасить установкой ресурсов Emacs*verticalScrollBar.background и Emacs*verticalScrollBar.troughColor, но последний не имеет эффекта: похоже баг.
Второе: по периметру фрейма появляется однопиксельная рамка, которая убирается с помощью

Emacs.borderWidth: 0
Emacs.internalBorder: 0

Скроллбар я в конечном итоге спрятал и заменил на yascroll: https://github.com/m2ym/yascroll-el
Это не скроллбар в традиционном понимании, а индикатор, его напоминающий. Выглядит гораздо лучше любых тулкитных и не занимает дополнительного столбца.

Ну вот и всё: третьепень вновь комфортабельно тянет моё IDE образца 2016 года. Я доволен.

Скриншот: http://i.imgur.com/ia3iR8R.png

★★★★★
Ответ на: комментарий от theNamelessOne

Для меня это самый интуитивно понятный индикатор позиции в буфере.
В качестве контрола для перемещения по буферу — таки да, не нужен.

aidaho ★★★★★
() автор топика

А консольный вариант Ёмакса пользовать? Я год с него не слезал, на графический с гтк3 только пару месяцев назад переполз.

Hertz ★★★★★
()
Ответ на: комментарий от Hertz

Вариант, но там не будет некоторых плюшек.

На вскидку: тру колор, картинки, (setq frame-resize-pixelwise t), выделение мышью текста для вставки куда-то средней кнопкой.

aidaho ★★★★★
() автор топика
Ответ на: комментарий от aidaho

Да, этим в таком случае придётся пожертвовать.

Hertz ★★★★★
()
Ответ на: комментарий от Hertz

там fringe нет, а он полезный(строки с ошибками/брейкпоинты подсвечивать) и с ним приятнее выглядит linum

f1u77y ★★★★
()
Ответ на: комментарий от f1u77y

Да не, я согласен. Гуёвый Emacs лучше всё таки. Просто в некоторых кейсах сойдёт и консольный.

Hertz ★★★★★
()

Апдейт: отрефакторил 50кб питономодуль и пофиксил несколько багов на этом калькуляторе. Работать теперь действительно можно.

aidaho ★★★★★
() автор топика
Ответ на: комментарий от Hertz

А консольный вариант Ёмакса пользовать?

А я вот только что обнаружил, что у меня Emacs в терминале при нажатии комбинаций с C-S- почему-то обрабатывает их как C- (т.е. при одновременном нажатии Ctrl и Shift воспринимается только Ctrl). Неприятно, надо разбираться.

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

при одновременном нажатии Ctrl и Shift воспринимается только Ctrl

Дай угадаю - раскладка клавиатуры переключается тоже по Ctrl-Shift? Поздравляю тогда, это знатный баг иксов. Либо патчить их либо переставлять кнопку для смены раскладки.

Pinkbyte ★★★★★
()
Ответ на: комментарий от theNamelessOne

А, ну тогда это какая-то другая проблема, может емаксоспецифичная, тут я в не в теме...

Pinkbyte ★★★★★
()

Для меня это самый интуитивно понятный индикатор позиции в буфере

можно посмотреть тогда nyan-mode, но он на атоме скорее всего притормаживать будет.

zarkone ★★
()
Ответ на: комментарий от theNamelessOne

Так и должно быть. Терминал это текстовое устройство. То есть нажатый шифт меняет, например, C-a на C-A, но сам по себе обрабатываться никак не должен и не может.

anonymous
()
Ответ на: комментарий от anonymous

Печаль в том, что биндинги, которые работают в GUI-версии, не работают в консоли.

theNamelessOne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.