항공사 플러그인에서 상태 표시 줄 기호를 어떻게 수정합니까?


64

아래 그림과 같이 사용자 지정 상태 표시 줄을 갖기 위해 Airline 플러그인을 설치했습니다 .

여기에 이미지 설명을 입력하십시오

하지만, 내 상태 표시 줄에 기호를 제시하고 <, >>하고 <. 이 문제를 어떻게 해결합니까?

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


글꼴을 ttf로 변환 하려면 everythingfonts.com/otf-to-ttf 를 사용하십시오 ( 예 : 이전 XShell 버전은 otf를 지원하지 않음).
bhathiya-perera

최대한의 호환성을 위해 나는 떠나지 airline_powerline_fonts않습니다. 나는 그들이 그렇게 유용하다고 생각하지 않습니다.
qwr

답변:


50

실제로 귀하의 질문에 투표가 왜 필요한지 모르겠습니다. 솔직히 처음에는 멋진 툴바를 얻기 위해 수행해야 할 작업을 이해하지 못했습니다. 예 README 및 기타 정보는 알고 있지만 도움말 파일에 getting started또는 minimum settings섹션 이 있어야한다고 생각 합니다.

어쨌든 여기에 설정이 있습니다.

적절한 글꼴 설치

분기, 큰 삼각형 등과 같은 기호로 시스템에 글꼴을 설치해야합니다. 표준 기호가 아니므로 패치 된 글꼴을 설치해야합니다. https://github.com/powerline/fonts 에서 패치 된 글꼴을 많이 찾을 수 있습니다 .

.vimrc 설정

에서 :help airline-customization, 당신의 .vimrc 파일에 코드를 삽입 :

" 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 symbols이미 패치 글꼴이있는 경우 섹션은 여기 불필요하지만 적절한 문자가없는 다른 글꼴을 사용하려고하면 그것은 당신에게 좋은 대체를 제공합니다.

폰트 설정

터미널에서 Vim을 사용하는 경우 터미널의 프로파일 환경 설정에서 적절한 글꼴로 전환해야합니다.

Vim의 GUI 버전 (MacVim, GVim)을 사용하는 경우 글꼴 .vimrc을 (예 :)로 설정해야합니다 set guifont=DejaVu\ Sans:s12. 자세한 내용은 여기를 참조하십시오 :help guifont.


안녕, 알렉산더 나는 그의 지시를 따랐지만 여전히 예상 결과를 얻지 못했습니다. 처음에는 전력선 사이트에서 글꼴을 설치했습니다. 그런 다음 .vimrc 파일에서 설정을 지정했습니다. 내 .vimrc 파일이 gist.github.com/geisonsn/641f13543b8b41fe2c12 에서 공유되었습니다 . Vundle 관리자 플러그인을 사용하고 있습니다.
Geison Santos

편집기에서 해당 글꼴을 설치 했습니까? 터미널에서 vim을 사용하는 경우 터미널에 해당 글꼴을 설치하거나 vim의 gui 버전 (MacVim, GVim)을 사용하는 경우 .vimrc-file 에서 글꼴을 설정해야합니다 (예 :) set guifont=DejaVu\ Sans:s12. 자세한 내용은 여기를 참조하십시오 :help guifont.
Alexander Myshov 17:05에

2
@AlexanderMyshov 구성 라인을 반복했습니다. 두 줄 중 두 번째 만 필요합니다.
Vitor

1
vi.stackexchange에서 계정을 생성하여 감사하고이 멋진 답변을 찬성했습니다. 수천 번의 검색을 해제 해 주셔서 감사합니다.
0decimal0

1
시작 또는 최소 설정 섹션이 있어야한다고 생각합니다 ... 삭제되는지 여부는 알 수 없지만 대답에 따라 vim-airline 위키에 Dummies Guide 를 추가했습니다 .
icc97

12

로부터 README :

전력선 글꼴과 통합

멋진 전력선 기호를 표시하려면 패치 된 글꼴을 설치해야합니다. 지침은 공식 전력선 문서 에서 찾을 수 있습니다 . 프리 패치 된 글꼴은 powerline-fonts 저장소 에서 찾을 수 있습니다 .

마지막으로 편의 변수 let g:airline_powerline_fonts = 1를 vimrc에 추가 하면 g:airline_symbols사전에 전력선 기호 가 자동으로 채워집니다 .


1
let g:airline_powerline_fonts = 1충분하지 않다는 것을 알았 습니다. 어떤 이유로 이것은 여전히 ​​자동 으로을 채우지 않았으므로 Alexander Myshov의 답변에g:airline_symbols 따라 사전을 수동으로 채워야했습니다 .
icc97 2016 년

5

여기에는 몇 시간이 걸렸으므로 Windows 용 특별 섹션과 함께 Fedora / Ubuntu에 대한 인형 안내서가 더 있습니다.

첫 번째는 vim-airline 상태 표시 줄에 나타나는 이상하지만 멋진 꺾쇠 괄호가 무엇인지 알아내는 것입니다. 배경은 항공사가 순수 vim 버전의 전력선 (파이썬)이며, 전력선은 UTF-8 문자를 사용하여 꺾쇠 괄호를 삽입한다는 것입니다. 따라서 vim-airline은 동일한 UTF-8 문자를 사용합니다.

그런 다음 하나를 설치해도 글꼴이 제대로 작동하지 않기 때문에 원하는 것보다 더 나빠 보입니다.

Vim 설정

이것은 공식 지침 과 반대 이지만 마지막 에이 비트가 잘못되어 모든 글꼴 설치에 의문을 제기했습니다. 따라서 먼저 구성한 다음 글꼴이 작동하면 마술처럼 나타납니다.

마지막 트릭은 vim-airline이 필요한 글꼴을 사용하도록 강요했습니다. 에서 공식 문서 단지 추가해야 let g:airline_powerline_fonts = 1당신에 .vimrc. 그러나 나는 이것을했고 운이 없었습니다. 더 많은 정보가 :help airline-customization있으며 필요한 경우 간단한 구성 설정을 제공합니다. 이것이 내가 필요로 한 마지막 마술 소스였습니다. 왜 이것이 자동으로 생성되지 않았는지 모르겠습니다. Alexander Myshov의 승인 된 답변에 언급 된 설정을 복사하여 붙여 넣으 십시오 .

페도라와 우분투에서 주방 싱크

이것은 아마도 과도한 솔루션 일 것입니다. 그러나 먼저 단순화하기 전에 일관성있게 작동시켜야합니다.

  1. 일반 전력선 글꼴 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 symbols 글꼴을 사용할 수 있는지 확인하십시오. 글꼴을 직접 사용하고 싶지 않고 사용 가능한지 확인하십시오 . 이제 Vim을 열어서 멋진 기호가 있는지 확인하십시오.

  2. 일반 전력선 글꼴이 작동하지 않거나 개선하려는 경우 개별 '패치 된'글꼴을 설치하려고 시도하는 데 시간이 걸렸지 만 문자 그대로 https 에서 원하는 폴더로 이동할 수 있습니다 . //github.com/powerline/fonts/ 다운로드하여 테스트에서 가장 마음에 들었던 글꼴은 Source Code Pro patched font 입니다. 그런 다음 다운로드 한 글꼴 파일을 열고 '설치'를 클릭하십시오.

    오히려 명령 줄을 원한다면 모든 패치 글꼴을 설치할 수 있습니다 .

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

    그러면 패치 된 모든 모노 글꼴 이 설치 되지만 가능한 글꼴을 탐색 할 수 있습니다. 설치 한 글꼴 목록은 사용 가능한 소스 코드 글꼴의 멋진 목록입니다. 또한 포함 된 개별 글꼴을 설치하는 데 어려움을 겪지 않아도됩니다.

  3. 터미널 환경 설정에서 글꼴을 지정할 수 있는지 확인하고 글꼴이 누락 된 경우 터미널 세션을 다시 열려면 두 가지 옵션이 있습니다.
    1. 일반적인 전력선 글꼴이 작동하는 경우 기본 글꼴을 사용할 수 있습니다 (예 : DejaVu Sans Mono)
    2. 위에서 다운로드 한 패치 된 글꼴이 제대로 작동하지 않으면 DejaVu와 동일한 기능이 'DejaVu Sans Mono for Powerline'입니다.

리눅스 조정

실제로 처음으로 작동하게되면 아이콘이 완전히 일치하지 않아 실망했습니다. 그러나 FAQ에 따라 약간의 조정이 필요합니다. Inconsolata로 시작하여 Windows와 Linux에서 일관된 글꼴을 제공합니다. Ubuntu에서 일반 글꼴을 쉽게 설치할 수 있습니다 apt install fonts-inconsolata.

여기에 이미지 설명을 입력하십시오

화살표가 너무 커서 추악한 방식으로 위로 이동합니다.

그런 다음 다른 모든 기본 우분투 글꼴을 사용해 보았습니다.

우분투 모노 :

여기에 이미지 설명을 입력하십시오

데자뷰 산 모노 :

여기에 이미지 설명을 입력하십시오

세로 위치는 정확하지만 오른쪽 화살표에는 공백이 있습니다.

패치 된 글꼴을 사용하는 이유

기본 글꼴을 사용하면 Powerline 글꼴을 사용하여 기존 글꼴을 자동으로 패치합니다. 그러나 패치 된 글꼴을 사용하여 항공사 기호의 모양을 향상시킬 수 있습니다. 패치 된 글꼴을 사용하는 것과 동일합니다.

더 큰 글꼴을 사용하고 싶을 때 사소한 문제가 나타납니다.

전력선에 대한 인 콘솔 라타 :

여기에 이미지 설명을 입력하십시오

이것은 여전히 ​​문제가 있지만 거의 모든 dz 변형으로 해결됩니다.

Powerline dz의 Inconsolata-dz :

여기에 이미지 설명을 입력하십시오

오른쪽 화살표에 헤어 라인 골절이 있지만 완벽합니다.

우분투 모노 유도체 Powerline Regular :

여기에 이미지 설명을 입력하십시오

이것은 여전히 ​​성가신 문제가 있습니다.

Powerline Book 용 DejaVu Sans Mono :

여기에 이미지 설명을 입력하십시오

오른쪽 화살표에 헤어 라인 골절이 있지만 완벽합니다. LN 아이콘이 더 읽기 쉽기 때문에 실제로 Inconsolata-dz보다 선호합니다.

이러한 규칙 외에도 거의 모든 사용 가능한 글꼴을 시험해 보았고 다른 가장 좋아하는 것은 소스 코드 프로였습니다.

Powerline Medium 용 소스 코드 Pro

여기에 이미지 설명을 입력하십시오

화살표가 너무 큰 크기 16에서는 문제가 있지만 크기 14에서는 거의 눈에 띄지 않습니다. 분기 및 LN 아이콘이 맨 아래로 넘치지 만 어쨌든 이것은 나를 귀찮게하지 않습니다.

전력선 조명용 소스 코드 프로

여기에 이미지 설명을 입력하십시오

이것은 아이콘의 오버플로가 여전히 있지만 중간 글꼴의 화살표 크기 문제를 거의 완전히 해결하고 완벽하게 만듭니다.

소스 코드 프로

글꼴 옵션에 대해 조사 할 때 몇 가지주의해야 할 사항이 있습니다. 일부 글꼴 패치의 세부 사항은 절대적으로 최소값입니다. 소스 코드 프로 목록과 비교하면 상당히 중요합니다. Source Code Pro는 광범위한 시나리오에서 작동하는 것으로 간주되는 매우 상세하고 완전한 글꼴입니다. 이러한 종류의 완전성은 엣지 케이스에 중요합니다.

패치 글꼴로 사용되며 vim-airline 막대를 거의 완벽하게 표시합니다. 너무 많은 대안의 장점은 vim-airline bar를 더 잘 표시하는 light font를 사용한다는 것입니다.

Source Code Pro는 Adobe의 Github 리포지토리 에서 지속적으로 공개 개발 중입니다 .

Windows의 섬세한 꽃 취급 (GVim 가정)

Powerline Font는 Windows에서 작동하지 않으므로 패치 글꼴을 사용하는 것이 유일한 선택입니다. 또한 모든 글꼴을 설치하는 bash 스크립트가 작동하지 않으므로 동일한 작업을 수행해야 git clone하지만 각 개별 디렉토리로 이동하여 원하는 글꼴을 설치하십시오.

모든 Source Code Pro 패치 글꼴을 다운로드 하여 설치했습니다. 개별 글꼴로 설치하더라도 가중치를 지정하기 위해 별도의 속성을 가진 단일 글꼴 'Source Code Pro for Powerline'으로 Windows에 추가됩니다.

그런 다음 ( GVim 가정 ) 이것을 다음에 추가하십시오 .vimrc.

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

'Light'글꼴을 사용하려면 이것을 사용하십시오.

set guifont=Source_Code_Pro_Light:h15:cANSI

'for Powerline'을 포함 할 필요가 없으므로별로 이해가되지 않지만 작동 방식입니다 (GVim에서 글꼴을 설정 한 다음 GVim이 사용한 set guifont?것을 확인 하여 사용). 또한 GVim을 사용하여 글꼴을 전환하면 글꼴 렌더링이 그리 좋지 않다는 것을 알았습니다. GVim 메뉴를 사용하여 전환했을 때 잘못 렌더링되었으므로 Light 글꼴을 처음에 할인했지만 아래에 넣고 .vimrcGVim을 다시 시작하면 사랑스러워 보일 것입니다.

또한 좋은 점은 DOS / Powershell 프롬프트를 같은 글꼴로 설정할 수 있다는 것입니다. 그런 다음 패치 된 글꼴을 사용하여 DOS 내에서 일반 Vim에서 Powerline을 작동시킬 수도 있습니다.

나를 믿지 않으면 여기 Powershell의 Vim에서 작동합니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


3

Vim을 다시 설치 한 후에도 같은 문제가 발생했습니다. 이전 패치 된 글꼴이 새 항공사 기호와 호환되지 않았습니다.

이전 기호는 도움말 ( :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 = '⭡'

이 라인을 내 vimrc에 넣은 후 모든 것이 잘되었습니다.


공감! 현재 최고의 나를 위해, 바로이 기호는 조금 더 높다
ryenus

1
사전을 먼저 정의해야합니다 : let g : airline_symbols = {}
PerseP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.