Есть ли способ использовать немонокальный шрифт в vim
или gvim
?
Я попытался изменить шрифт для gVim с помощью:
:set guifont=Dejavu\ Serif\ 12
Но это дает мне довольно неприятные результаты:
Я получаю те же результаты, если использую меню (Правка -> Выбрать шрифт)
:help guifont
говорит:
Note that the fonts must be mono-spaced (all characters have the same
width). An exception is GTK 2: all fonts are accepted, but
mono-spaced fonts look best.
Так что я думаю, что приведенные выше результаты считаются "не выглядят лучше"? Можно ли это как-то улучшить?
Я также попытался установить немонокальный шрифт в моем терминале ( xterm
), но это, похоже, дает примерно тот же эффект:
Я не против использовать другой эмулятор терминала для этого кстати.
Ответы:
Я нашел
mlterm
, что поддерживает это. Помимо встроенного терминала Emacs (термин Mx), это единственный терминал, который я обнаружил, который поддерживает это (я пробовал около 15-20 различных).Я обнаружил, что это
mlterm
работает лучше, чем Emacs, из-за настроек отношения сторон, и вы также избегаете необходимости запускать Vim в сеансе Emacs (я даже не уверен, что это разрешено по закону).Снимок экрана (выглядит ужасно, если вы не откроете его в полном размере из-за масштабирования в браузере):
Это требует некоторой настройки любви, хотя. После запуска нажмите Ctrl+ средний щелчок в любом месте, это откроет экран настройки. Я установил эти параметры
На вкладке «Шрифт»:
Экран настройки правого клика кажется немного ненадежным, я также отредактировал свой,
~/.mlterm/vaafont
так как он не был обновлен:И мой
~/.mlterm/main
(это настройки, которые я установил выше, плюс некоторые личные настройки):Есть некоторые артефакты, которые следует ожидать, но написание электронных писем или сообщений, подобных этому, кажется, работает довольно хорошо!
Я создал псевдоним в моей оболочке для этого:
Я также создал небольшую функцию для удаления большинства Chrome пользовательского интерфейса:
Есть также goyo.vim, который работает примерно так же, но мне это не очень помогло (слишком много гадости с полями). YMMV хотя.
источник
Это определенно не поддерживается в GUI Vim, и я был бы удивлен, если бы было более чем несколько эмуляторов терминалов, которые поддерживают пропорциональные шрифты так, как вы надеетесь: это сломало бы слишком много стандартных вещей, для которых терминалы используемый. Поскольку многие части Unix и других сред командной строки предполагают использование моноширинных шрифтов, этот тип дисплея не может использоваться в качестве терминала общего назначения, поэтому разработчику терминала пришлось бы выполнять дополнительную работу для получения небольшой выгоды.
Однако существует по крайней мере один эмулятор терминала, который реализован с использованием веб-технологий ( Ajaxterm ), и, поскольку он использует HTML / CSS для рендеринга, можно сделать так, чтобы он использовал пропорциональный шрифт с использованием CSS. CJS Hayward сделал именно это, но для этого нужно использовать очень старый браузер.
Если бы вы запустили Vim в таком терминале, вы бы получили то, что просили; просто будьте готовы к дурацкому хиджинксу, когда вы используете какие-либо функции на основе столбцов. (например
j
,k
блочный визуальный режим или'colorcolumn'
опция)ОБНОВЛЕНИЕ Как отмечает оригинальный автор вопроса Carpetsmoker в комментарии , Emacs имеет правильную поддержку пропорциональных шрифтов, а также включает эмулятор терминала (
M-x term
), внутри которого вы можете запустить Vim. Энтузиастам соразмерных шрифтов, возможно, также понравится заглянуть в Emacs's Evil, чтобы получить Vim-подобный опыт в Emacs.источник
Пропорциональные шрифты поддерживаются в Oni , Neovim GUI. Используйте средство рендеринга "webgl" для достижения наилучших результатов.
Смотрите также https://github.com/onivim/oni/issues/2359
источник