Чтобы понять это, потребовались часы, так что вот вам еще руководство по манекену для Fedora / Ubuntu со специальным разделом для Windows.
Во-первых, выяснить, что, черт возьми, эти странные, но красивые угловые скобки, которые появляются в строке состояния vim-Airlines. Предпосылкой является то, что авиакомпания является чистой версией Powerline (которая была Python), и Powerline использует символы UTF-8, чтобы вставить эти угловые скобки. Так что Vim-Airlines просто использует те же символы UTF-8.
Тогда даже если вам удастся его установить, они выглядят хуже, чем можно было бы надеяться, потому что шрифты работают не полностью.
Конфигурирование Vim
Это противоречит официальным инструкциям, но в конце я ошибся, что заставило меня усомниться во всех установках шрифтов. Поэтому я советую сначала настроить это, а затем, если вы работаете со шрифтами, оно должно появиться волшебным образом.
Последним трюком было принуждение Vim-Airlines использовать нужные шрифты. В официальной документации это должно быть просто добавление let g:airline_powerline_fonts = 1
в вашу .vimrc
. Однако я сделал это и не повезло. Там есть больше информации, :help airline-customization
и это дает вам несколько простых настроек конфигурации, которые вам нужны, на всякий случай. Это был последний волшебный соус, который мне был нужен. Я не знаю, почему это не было создано автоматически. Скопируйте и вставьте настройки, указанные в принятом ответе Александра Мышова, здесь .
Кухня тонет на Федоре и Убунту
Возможно, это излишнее решение, но сначала вам нужно, чтобы оно работало последовательно, прежде чем вы сможете упростить его.
Установите основной шрифт Powerline sudo dnf install powerline-fonts
(или sudo apt install fonts-powerline
) - это должно означать, что вы можете использовать любой уже установленный шрифт. Если у вас нет простого способа установки, такого как dnf / apt, то есть инструкции для его ручного выполнения, например, https://www.tecmint.com/powerline-adds-powerful-statuslines-and-prompts-to-vim-and -bash / , также в официальной документации есть инструкции ( https://powerline.readthedocs.io/en/latest/installation/linux.html#fonts-installation ).
Теперь закройте ваш терминал, снова откройте и убедитесь, что шрифт символов Powerline доступен, если вы редактируете настройки терминала и устанавливаете собственный шрифт. Вы не хотите использовать шрифт напрямую, просто убедитесь, что он доступен . Теперь попробуйте открыть Vim и посмотреть, есть ли у вас красивые символы.
Если обычный шрифт Powerline не работает или если вы пытаетесь что-то улучшить, попробуйте установить отдельные «пропатченные» шрифты, чтобы выяснить это, потребовалось некоторое время, но вы можете буквально просто перейти в нужную папку в https: //github.com/powerline/fonts/ и скачайте его, шрифт, который мне больше всего понравился в моих тестах, это пропатченный шрифт Source Code Pro . Затем просто откройте загруженный файл шрифта и нажмите «Установить».
Если вы предпочитаете командную строку, вы можете установить все пропатченные шрифты :
$ git clone https://github.com/powerline/fonts.git --depth=1
$ fonts/install.sh
$ rm -rf fonts
Это установит все пропатченные монофонические шрифты, но затем это даст вам возможность изучить возможные шрифты. Список шрифтов, который он устанавливает, является довольно удивительным списком доступных шрифтов исходного кода. Это также означает, что вам не нужно искать все отдельные шрифты, которые входят в комплект.
- Убедитесь, что шрифт можно указать в настройках терминала, заново откройте сеанс терминала, если вам не хватает шрифтов, поэтому обратите внимание, что здесь может быть два варианта:
- Общий шрифт Powerline работает, и в этом случае вы можете просто использовать базовый шрифт, например DejaVu Sans Mono
- Если вы не можете добиться этого, исправленный шрифт, который вы скачали выше, должен быть правильным, например, DejaVu эквивалентно «DejaVu Sans Mono для Powerline».
Тонкая настройка Linux
Когда я впервые начал работать, это было очень обидно, потому что значки не полностью совпадали. Но согласно FAQ мы должны сделать некоторые настройки. Я начал с Inconsolata, так как это дает мне согласованный шрифт для Windows и Linux. Вы можете легко установить общий шрифт в Ubuntu, apt install fonts-inconsolata
вот что я получил:
Стрелки слишком велики и ужасно смещены вверх.
Затем я попробовал все остальные шрифты Ubuntu по умолчанию.
Ubuntu mono:
DejaVu Sans Mono:
Это имеет правильное вертикальное положение, но у стрелок справа есть пробел после них.
Почему вы используете пропатченные шрифты
Использование шрифтов по умолчанию полагается на шрифт Powerline для автоматического исправления существующих шрифтов. Однако вы можете улучшить внешний вид символов авиакомпании, используя пропатченные шрифты. Это эквиваленты, использующие пропатченные шрифты.
Я отображаю их все с размером шрифта 16, так как мне нравится использовать больший шрифт, плюс он обнаруживает незначительные проблемы.
Inconsolata для Powerline:
У этого все еще есть проблемы, но они почти все решены изменением dz.
Inconsolata-dz для Powerline dz:
Это имеет перелом волосяного покрова на правой стороне стрелки, но в остальном идеален.
Производная Ubuntu Mono Powerline Regular:
Это все еще имеет раздражающие проблемы.
DejaVu Sans Mono для Powerline Book:
Это имеет перелом волосяного покрова на правой стороне стрелки, но в остальном идеален. Я на самом деле предпочитаю его Inconsolata-dz, так как значок LN более читабелен.
Помимо этих постоянных, я перепробовал почти все доступные шрифты, а другим моим любимым был Source Code Pro.
Исходный код Pro для Powerline Medium
Это имеет проблемы в размере 16, где стрелки слишком велики, но в размере 14 это почти незаметно. Значки веток и LN переполняются, но почему-то это меня не раздражает.
Исходный код Pro для Powerline Light
Это почти полностью решает проблемы с размерами стрелок среднего шрифта и делает его практически идеальным, хотя значок все еще переполняется.
Исходный код Pro
Когда я изучал варианты шрифтов, вы заметили несколько моментов: некоторые патчи шрифтов содержат абсолютный минимум в деталях, если сравнить его со списком Source Code Pro, это довольно существенно. Исходный код Pro - это очень подробный и полный шрифт, который, как считается, работает в широком диапазоне сценариев. Этот вид полноты имеет значение для крайних случаев.
Используемый как пропатченный шрифт, он почти идеально отображает панель vim-Airlines Преимущество стольких альтернатив заключается в использовании светлого шрифта, который даже лучше отображает панель vim-Airlines.
Исходный код Pro также находится в процессе открытой разработки в репозитории Adobe Github .
Обработка нежного цветка Windows (при условии GVim)
Шрифт Powerline не работает с Windows, поэтому ваш единственный выбор - использовать пропатченный шрифт. Также скрипт bash для установки всех шрифтов не работает, поэтому вам нужно сделать то же самое, git clone
но затем перейти в каждый из отдельных каталогов и установить нужные шрифты.
Я скачал все исправленные шрифты Source Code Pro и установил их. Даже если вы устанавливаете их как отдельные шрифты, они добавляются в Windows как один шрифт «Исходный код Pro для Powerline» с отдельным атрибутом для указания веса.
Затем (при условии GVim ) добавьте это к вашему .vimrc
:
set guifont=Source\ Code\ Pro\ for\ Powerline:h15:cANSI
Если вы хотите использовать шрифт «Light», используйте это.
set guifont=Source_Code_Pro_Light:h15:cANSI
Это не имеет особого смысла, поскольку не нужно включать «for Powerline», но вот как это работает (я понял это, установив шрифт в GVim, а затем с помощью set guifont?
проверки, что использовал GVim). Также я заметил, что когда вы используете GVim для переключения шрифта, рендеринг шрифта не очень хорош. Первоначально я не использовал шрифт Light, потому что когда я переключался с помощью меню GVim, он плохо отображался, но если вы добавили нижеприведенное .vimrc
и перезапустили GVim, он должен выглядеть прекрасно.
Также приятно то, что вы можете установить для вашего приглашения DOS / Powershell тот же шрифт. Затем с исправленным шрифтом также можно заставить Powerline работать в обычном Vim в DOS.
Если вы мне не верите, вот это работает в Vim в Powershell: