LINUX.ORG.RU

Сообщения thesame

 

Астрофизики ALMA выбирают RedHat

Обычное рабочее место учёного в обсерватории ALMA.

Вот ещё фотки, ещё и ещё. И ещё. И даже вот.

>>> Просмотр (4500x3000, 3339 Kb)

 ,

thesame
()

gvim + xft

Друзья, представляю вам свою реализацию рендеринга через XFT в gvim.

Долгое время я пользовался vim'ом в терминале urxvt+xft, и меня всё устраивало, кроме невозможности выбрать полноцветные цветовые схемы и скорости отрисовки сложной подсветки кода в php. Поэтому я начал рассматривать другие варианты запуска vim, среди которых были gvim+gtk1, gvim+gtk2, gvim+motif. Резултаты следующие:

gvim+gtk1 - работает быстро, нет рендеринга со сглаживанием, не поддерживается начиная с vim 7.3

gvim+gtk2 - есть рендеринг со сглаживанием, текст рисуется через pango, который тормоз. Работать в этом очень неуютно.

gvim+motif - работает быстро, поддерживается, нет рендеринга со сглаживанием.

Поскольку удовлетворительного варианта не нашлось, было решено закатать рукава и всё сделать самому. Допиливать неподдерживаемый gvim+gtk1 нет смысла, допиливать gvim+gtk2 было бы очень сложно, потому что для pango там отдельная большая ветка кода, и переписывать её не в кайф. А вот допиливать gvim+motif оказалось легко и приятно, потому что библиотека libxft сделана с оглядкой на поддержку X core fonts.

В результате допиливания получилось то, что видно на скриншоте. Код брать здесь http://code.google.com/r/thesameml-vim-xft/source/checkout собирать как обычный gvim только с --enable-gui=motif --enable-xft. Шрифт устанавливать так ":set guifont=Monospace-10". Диалог выбора шрифта я ещё не портировал, потому что там чёртов Xt, в котором ничего не понятно.

Скорость отрисовки оказалась средней между pango и x core fonts.

Кроме того, оказалось, что в тормозах отрисовки виноват не только движок рендеринга, но и подсветка синтаксиса, которая для php сделана исключительно тормозно. Поэтому для тех, кому это может пригодиться, вот ускоренная упрощённая подсветка: https://gist.github.com/4610024

Код: http://code.google.com/r/thesameml-vim-xft/source/checkout

Подсветка php: https://gist.github.com/4610024

>>> Просмотр (1190x680, 91 Kb)

 , , ,

thesame
()

RSS подписка на новые темы