Havayolu eklentisindeki durum çubuğu sembollerini nasıl düzeltirim?


64

Aşağıdaki resimde görüldüğü gibi özel bir durum çubuğuna sahip olmak için Airline eklentisini yükledim :

Resim tanımını buraya girin

Ancak, benim durum çubuğu simgeleri sunuyor <, >>ve <. Bu sorunu nasıl düzeltebilirim?

Resim tanımını buraya girin

Resim tanımını buraya girin

Resim tanımını buraya girin


Yazı tiplerini ttf'ye dönüştürmek için everythingfonts.com/otf-to-ttf kullanın , Örnek: Daha eski XShell Sürümleri otf'u desteklemiyor.
bhathiya-perera

Maksimum uyumluluk için ayrılıyorum airline_powerline_fonts. Gerçekten bu kadar faydalı olduklarını sanmıyorum.
qwr

Yanıtlar:


50

Aslında sorunuzun neden oylandığını anlamıyorum. Dürüst olmak gerekirse ilk başta bu güzel görünümlü araç çubuğunu elde etmek için ne yapılması gerektiğini anlamadım. Evet, README ve diğer şeyleri biliyorum, ancak yardım dosyasında bir getting startedveya bir minimum settingsbölüm olması gerektiğini düşünüyorum .

Neyse, burada ayarlar var.

Uygun yazı tiplerini yükleme

Yazı tiplerini sisteminize dallanma, büyük üçgenler vb. Sembollerle yüklemeniz gerekir. Bunlar standart semboller değildir, bu yüzden yamalı bir font yüklemelisiniz. Burada birçok yamalı yazı tipi bulabilirsiniz: https://github.com/powerline/fonts .

.vimrc ayarlar

Gönderen :help airline-customizationsenin .vimrc dosyasına bu kodu yerleştirebilirsiniz:

" air-line
let g:airline_powerline_fonts = 1

if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif

" unicode symbols
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '␤'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.whitespace = 'Ξ'

" airline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''

unicode symbolsZaten bir yamalı yazı varsa bölüm burada gereksizdir ama uygun sembollere sahip değil diğer yazı tipini kullanmaya çalışırsanız bu size güzel bir yedeği verir.

Yazı tipi ayarları

Eğer terminalde Vim kullanıyorsanız, terminalinizin profil tercihlerinde uygun fonta geçmelisiniz.

Vim (MacVim, GVIM) GUI sürümünü kullanıyorsanız, yazı tipini ayarlamak gerekir .vimrc, örneğin: set guifont=DejaVu\ Sans:s12. Daha fazla bilgiyi burada bulabilirsiniz :help guifont.


Merhaba Alexander. Talimatlarını takip ettim ama yine de beklenen sonucu alamıyorum: ilk başta fontları powerline sitesinden yükledim. Sonra ayarları .vimrc dosyasında yaptım. .Vimrc dosyam gist.github.com/geisonsn/641f13543b8b41fe2c12 adresinde paylaşıldı . Vundle manager eklentisini kullanıyorum.
Geison Santos

Bu yazı tipini editörünüze yüklediniz mi? Eğer terminalde Vim'i Eğer terminalde o yazı tipini yüklemek gerekir, yoksa vim gui-sürümünü (MacVim, GVIM) kullanırsanız yazı tipini ayarlamak gerekir .vimrc, örneğin -File: set guifont=DejaVu\ Sans:s12. Daha fazla bilgiyi burada bulabilirsiniz :help guifont.
Alexander Myshov

2
@AlexanderMyshov, her ikisinde yalnızca ikincisinin gerekli olduğu yapılandırma satırlarını tekrarladınız.
Vitor

1
Sadece burada teşekkür etmek ve bu harika cevabınızı yükseltmek için vi.stackexchange'te bir hesap oluşturdum. Beni binlerce aramadan kurtardığın için teşekkür ederim.
0decimal0

1
Başlarken veya asgari bir ayar bölümü olmalı ... silinir mi yoksa silinmesin mi bilmiyorum, ama cevabımı temel alarak vim-havayolu wiki'sine bir Dummies Guide ekledim .
icc97

12

Gönderen README :

Powerline fontlarıyla entegrasyon

Güzel görünen powerline sembollerinin görünmesi için yamalı bir font yüklemeniz gerekir. Talimatlar resmi elektrik hattı belgelerinde bulunabilir . Hazırlanmış fontları powerline fontları deposunda bulabilirsiniz.

Son olarak, let g:airline_powerline_fonts = 1vimrc'nize kolaylık değişkenini ekleyebilirsiniz g:airline_symbols.


1
Bunun let g:airline_powerline_fonts = 1yeterli olmadığını buldum . Nedense bu hala otomatik olarak doldurmadığı için Alexander Myshov'un cevabına göreg:airline_symbols sözlüğü elle doldurmak zorunda kaldım .
icc97

5

Bunun anlaşılması saatler sürdü, işte Fedora / Ubuntu için Windows için özel bir bölümle ilgili daha fazla aptal kılavuz.

Birincisi, vim-havayolu durum çubuğunda görünen bu garip ama hoş açılı parantezlerin ne olduğunu bulmak. Arka plan, havayolu şirketinin powerline'ın saf bir vim versiyonudur (python'dur) ve powerline, bu açılı ayraçları yerleştirmek için UTF-8 karakterlerini kullanır. Yani vim-airline sadece aynı UTF-8 karakterlerini kullanıyor.

Sonra bir tane kurmayı başarsanız bile, yazı tipleri tam olarak çalışmadığından umduğunuzdan daha çirkin görünürler.

Vim'i yapılandırma

Bu resmî talimatların tam tersi, ancak sonunda bu parçayı yanlış yaptım, bu da tüm font kurulumlarını sorgulamama neden oldu. Bu yüzden önce bunu yapılandırmanızı öneririm, sonra çalışan fontları alırsanız sihirli bir şekilde görünmesi gerekir.

Son numara, vim-airline'ı ihtiyaç duyduğu fontları kullanmaya zorlamaktı. Gelen resmi belgeler sadece ekleyerek olmalıdır let g:airline_powerline_fonts = 1Gözlerinde farklı .vimrc. Ancak bunu yaptım ve hiçbir şans. İçinde daha fazla bilgi var :help airline-customizationve bu, sadece durumda, ihtiyacınız olan bazı basit yapılandırma ayarlarını verir. Bu ihtiyacım olan son sihirli sos oldu. Bunun neden otomatik olarak oluşturulmadığını bilmiyorum. Alexander Myshov'un kabul ettiği cevabı burada belirtilen ayarları kopyalayıp yapıştırın .

Fedora ve Ubuntu'da batan mutfak

Bu muhtemelen fazladan bir çözümdür, ancak önce basitleştirmeden önce sürekli çalışmasını sağlamalısınız.

  1. Genel powerline yazı tipini sudo dnf install powerline-fonts(veya sudo apt install fonts-powerline) yükleyin - bu, daha önce yüklediğiniz herhangi bir yazı tipini kullanabileceğiniz anlamına gelmelidir. Eğer DNF gibi yüklemenin kolay bir yol yoksa / apt sonra örneğin elle yapmak için gereken talimatları var https://www.tecmint.com/powerline-adds-powerful-statuslines-and-prompts-to-vim-and -bash / , ayrıca resmi belgelerde talimatlar vardır ( https://powerline.readthedocs.io/en/latest/installation/linux.html#fonts-installation ).

    Şimdi terminalinizi yeniden açın ve terminal tercihlerini düzenlerseniz ve özel bir font belirlerseniz, Powerline sembolleri fontunun mevcut olup olmadığını kontrol edin. Yazı tipini doğrudan kullanmak istemiyorsanız, sadece kullanılabilir olup olmadığını kontrol edin . Şimdi Vim'i açmayı deneyin ve hoş sembolleriniz olup olmadığını görün.

  2. Genel powerline fontu işe yaramadıysa veya bazı şeyleri iyileştirmeye çalışıyorsanız, ayrı ayrı 'yamalı' fontları yüklemeyi deneyebilirsiniz, bunun çözülmesi biraz zaman aldı, ancak kelimenin tam anlamıyla https'de istediğiniz klasöre gidebilirsiniz : //github.com/powerline/fonts/ adresinden indirin ve testlerimden en çok sevdiğim yazı tipi Source Code Pro yamalı yazı tipidir . Sonra indirilen font dosyasını açın ve 'Install' (Yükle) düğmesine tıklayın.

    Komut satırını tercih ederseniz, tüm yamalı fontları yükleyebilirsiniz :

     $ git clone https://github.com/powerline/fonts.git --depth=1
     $ fonts/install.sh
     $ rm -rf fonts
    

    Bu, tüm yamalı mono yazı tiplerini yükler , ancak bu durumda olası yazı tiplerini keşfetme şansı verir. Kurduğu font listesi, mevcut kaynak kodu fontlarının oldukça harika bir listesi. Ayrıca, dahil olan her bir yazı tipinin her birini kurmanın etrafına tıkanmak zorunda kalmayacağınız anlamına gelir.

  3. Fontun terminal tercihlerinde belirtilebildiğini kontrol edin, fontlar eksikse terminal oturumunuzu yeniden açın, burada iki seçeneğin olabileceğini unutmayın:
    1. Genel powerline yazı tipi çalışıyor, bu durumda temel yazı tipini kullanabilirsiniz, örneğin DejaVu Sans Mono.
    2. Bunu elde edemiyorsanız, yukarıda indirdiğiniz yamalı yazı tipinin çalışmasının doğru olması gerekir, örneğin DejaVu'nun karşılığı 'Powerline için DejaVu Sans Mono'dur.

Tweaking Linux

Aslında ilk defa çalışmaya başladığımda, simgeler tam olarak eşleşmediği için hayal kırıklığı yarattı. Ancak SSS uyarınca, biraz değişiklik yapmamız gerekiyor. Inconsolata ile başladım, çünkü bu bana Windows ve Linux'ta tutarlı bir yazı tipi veriyor. İle kolayca Ubuntu üzerinde genel font yükleyebilirsiniz apt install fonts-inconsolataBu bende ne olduğunu:

görüntü tanımını buraya girin

Oklar çok büyük ve çirkin bir şekilde kaydırılıyor.

Sonra diğer tüm varsayılan Ubuntu yazı tiplerini denedim.

Ubuntu mono:

görüntü tanımını buraya girin

DejaVu Sans Mono:

görüntü tanımını buraya girin

Bunun dikey konumu doğru, ancak sağ taraftaki okların arkalarında boşluk var.

Neden yamalı fontları kullanıyorsunuz?

Varsayılan fontları kullanmak, varolan fontları otomatik olarak yamalamak için Powerline fontuna dayanır. Ancak yamalı yazı tiplerini kullanarak havayolu sembollerinin görünümünü iyileştirebilirsiniz. Bunlar yamalı fontları kullanan eşdeğerlerdir.

Bunların hepsini daha büyük bir font kullanmayı sevdiğim için font boyutu 16'da gösteriyorum, ayrıca küçük sorunlar ortaya çıkıyor.

Powerline için Inconsolata:

görüntü tanımını buraya girin

Bunun hala sorunları var, ama neredeyse hepsi dz varyasyonuyla çözüldü.

Powerline dz için Inconsolata-dz:

görüntü tanımını buraya girin

Bu, sağ taraftaki oklarda ince bir çizgi çatlamasına sahiptir, ancak başka türlü mükemmeldir.

Ubuntu Mono türevi Powerline Düzenli:

görüntü tanımını buraya girin

Bunun hala can sıkıcı sorunları var.

Powerline Kitabı için DejaVu Sans Mono:

görüntü tanımını buraya girin

Bu, sağ taraftaki oklarda ince bir çizgi çatlamasına sahiptir, ancak başka türlü mükemmeldir. Aslında Lcons simgesi daha okunaklı olduğu için bunu Inconsolata-dz'ye tercih ediyorum.

Bu kuralların üstünde, kullanılabilir fontların neredeyse hepsini denedim ve diğer favorim Source Code Pro idi.

Powerline Medium için Kaynak Kodu Pro

görüntü tanımını buraya girin

Bu, okların çok büyük olduğu 16 boyutunda, ancak 14 boyutunda neredeyse farkedilmeyen sorunlar var. Şube ve LN simgeleri aşağı taşar, ancak bir şekilde bu beni rahatsız etmez.

Powerline Light için Kaynak Kodu Pro

görüntü tanımını buraya girin

Bu, orta fontun ok boyutlarının sorunlarını neredeyse tamamen çözer ve yine de simge taşması olmasına rağmen mükemmelleştirir.

Kaynak Kodu Pro

Yazı tipi seçeneklerini incelerken, dikkatinizi çeken birkaç şey var, bazı yazı tipi ekleri, Kaynak Kod Pro listesiyle karşılaştırılırsa ayrıntılarda mutlak asgari düzeydedir. Source Code Pro, çok çeşitli senaryolarda çalıştığı düşünülen çok ayrıntılı ve eksiksiz bir yazı tipidir. Bu tür bir bütünlük kenar davaları için önemlidir.

Yamalı yazı tipi olarak kullanıldığında, vim-havayolu çubuğunu neredeyse mükemmel şekilde görüntüler. Birçok alternatifin avantajı, vim-havayolu çubuğunun daha da iyi görüntülenmesini sağlayan ışık fontunun kullanılmasıdır.

Source Code Pro, Adobe'nin Github deposunda da sürekli geliştirilme aşamasındadır .

Windows'un narin çiçeğinin ele alınması (GVim varsayarak)

Powerline Yazı Tipi, Windows ile çalışmadığından, tek seçeneğiniz yamalı yazı tipini kullanmaktır. Ayrıca tüm fontları yüklemek için bash betiği çalışmaz, bu yüzden aynısını yapmanız gerekir git clonefakat sonra her bir dizine girip istediğiniz fontları yükleyin.

Tüm Source Code Pro yamalı yazı tiplerini indirdim ve yükledim. Bunları ayrı yazı tipleri olarak kurmanıza rağmen, Windows'a Windows Powerline için ayrı bir öznitelik olan tek bir yazı tipi 'Source Code Pro for Powerline' eklenir.

Ardından ( GVim varsayarak ) bunu kendinize ekleyin .vimrc:

set guifont=Source\ Code\ Pro\ for\ Powerline:h15:cANSI

'Light' yazı tipini kullanmak istiyorsanız bunu kullanın.

set guifont=Source_Code_Pro_Light:h15:cANSI

'For Powerline'ı içermesi gerekmediği için pek bir anlam ifade etmiyor, ancak bu şekilde çalışıyor (yazı tipini GVim'de ayarlayıp sonra da set guifont?GVim'in ne kullandığını kontrol etmek için kullanarak ) anladım. Ayrıca, yazı tipini değiştirmek için GVim kullandığınızda, yazı tipi oluşturmanın çok iyi olmadığını gördüm. Başlangıçta Light fontunu indirdim, çünkü GVim menüsünü kullandığımda kötü bir şekilde işleniyordu, ancak aşağıdakini içine koyarsanız .vimrcve GVim'i yeniden başlatırsanız çok güzel görünmesi gerekir.

Ayrıca güzel bir şey de DOS / Powershell isteminizi aynı fonta ayarlayabilmenizdir. Sonra yamalı yazı tipi ile Powerline'ı DOS içinde düzenli Vim'de çalıştırmak da mümkündür.

Bana inanmıyorsanız, burada Powershell'deki Vim'de çalışıyor:

görüntü tanımını buraya girin

görüntü tanımını buraya girin


3

Vim'i yeniden yükledikten sonra da aynı sorunu yaşadım: Eski yamalı yazı tiplerim yeni havayolu sembolleri ile uyumlu değildi.

Eski semboller yardımda da belirtilmiştir ( :help airline-customization):

" old vim-powerline symbols
let g:airline_left_sep = '⮀'
let g:airline_left_alt_sep = '⮁'
let g:airline_right_sep = '⮂'
let g:airline_right_alt_sep = '⮃'
let g:airline_symbols.branch = '⭠'
let g:airline_symbols.readonly = '⭤'
let g:airline_symbols.linenr = '⭡'

Bu çizgileri vimrc'ime koyduktan sonra her şey yolunda gitti.


upvoted! şu anda benim için en iyisi, sadece bu semboller biraz daha yüksek
ryenus

1
Önce sözlüğü tanımlamanız gerekir: let g: airline_symbols = {}
PerseP
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.