Vim 또는 gVim에서 비모 노스페이스 글꼴을 사용할 수 있습니까?


32

모노 스페이스 이외의 글꼴을 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) 에서 비 모노 스페이스 글꼴을 설정하려고 시도했지만 비슷한 효과가있는 것 같습니다.

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

이 btw에 다른 터미널 에뮬레이터를 사용하는 것은 중요하지 않습니다.


: 그것은 이미 여기에 대한 답이 보이는 superuser.com/questions/357571/...
귀도의

1
@guido 나는 거기에 답을 볼 수 없습니다 ... 가장 많이 찬성 된 대답은 글꼴이 무엇인지에 대한 설명 일뿐입니다 (답이 아님). 그리고 다른 "답변"은 더 나쁩니다 ...
Martin Tournoij

답변:


25

나는 mlterm이것을 지원하는 것을 발견했다 . Emacs의 내장 터미널 (Mx 용어) 외에도이 터미널 을 지원 하는 유일한 터미널입니다 (약 15-20 개의 다른 터미널을 시도했습니다). sceen 비율 설정으로 인해 Emacs보다 더 잘 작동
한다는 것을 알았 mlterm으며 Emacs 세션 내에서 Vim을 실행하지 않아도됩니다 (법적 허용 여부조차 확실하지 않습니다).

스크린 샷 ( 브라우저에서 크기 조정으로 인해 전체 크기 로 열지 않으면보기 흉하게 보입니다 ) :

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

그래도 약간의 구성 사랑이 필요합니다. 시작한 후 Ctrl아무 곳이나 + 가운데 클릭을 누르면 구성 화면이 열립니다. 이 옵션을 설정했습니다

글꼴 탭에서 :

  • "Anti-alias"확인
  • "가변 열 너비"를 확인하십시오. 이것은 대부분의 다른 터미널 에뮬레이터에서 누락 된 "핵심 기능"입니다
  • 글꼴을 "DejaVu Sans Book 16"(또는 원하는 다른 것)으로 설정하십시오.
  • "글꼴 크기에 대한 화면 비율"너비를 60으로 설정하십시오. 이것은 터미널 너비에 관한 프로그램에 있습니다.이 작업을 수행하지 않으면 화면 크기의 ~ 50 % 만 사용합니다. 가장 좋은 값은 사용 된 글꼴에 따라 다르므로 조금 실험 해보십시오 ...

마우스 오른쪽 버튼 클릭 구성 화면이 약간 색다른 것처럼 보이며 ~/.mlterm/vaafont업데이트되지 않았으므로 편집했습니다 .

ISO10646_UCS4_1 = 22,DejaVu Sans 18;21,DejaVu Sans 16;16,DejaVu Sans 16

그리고 내 ~/.mlterm/main(이것들은 위에서 설정 한 설정과 개인적인 선호도입니다) :

type_engine = xft
bel_mode = none
scrollbar_mode = none
fontsize = 22
use_anti_alias = true
use_variable_column_width = true
line_space = 5
use_multi_column_char = true
col_size_of_width_a = 1
screen_width_ratio = 50

예상되는 일부 유물이 있지만 이메일이나 이와 같은 게시물을 작성하면 꽤 잘 작동하는 것 같습니다!

이것을 위해 쉘에 별칭을 만들었습니다.

alias pvim mlterm -e vim

또한 대부분의 UI 크롬을 제거하는 작은 기능을 만들었습니다.

fun! WriteMode()
    " Disable a lot of stuff
    setlocal nocursorline nocursorcolumn statusline= showtabline=0 laststatus=0 noruler

    " Hack a right margin with number
    setlocal number
    setlocal numberwidth=3

    " White text, so it's 'invisible'
    highlight LineNr ctermfg=15
    " If you're using a black background:
    " highlight LineNr ctermfg=1
endfun

goyo.vim 도 거의 동일하지만 나에게는 그다지 효과가 없었습니다 (여백이 너무 많음). 그래도 YMMV.


Ubuntu repos의 MLTerm과 함께 Ubuntu 18.04의 중간이 아닌 Ctrl + RightClick을 사용해야했습니다. 그렇지 않으면 마우스 커서 주위에 이상한 사각형 프레임 만 있고 대화 상자가 없습니다.
Ruslan

세로 분할 : screenshot 을 사용할 때 재미 있고 사용할 수없는 것처럼 보입니다 . 그러나 이것은 터미널 기반 솔루션에서 기대됩니다.
Ruslan

7

GUI Vim에서는 확실히 지원되지 않으며, 원하는 글꼴을 지원하는 소수의 터미널 에뮬레이터가 있으면 놀랍습니다. 터미널이있는 표준 항목을 너무 많이 깨뜨릴 것입니다. 익숙한. Unix 및 기타 명령 줄 환경의 많은 부분에서 고정 폭 글꼴을 사용하므로이 유형의 디스플레이를 범용 터미널로 사용할 수 없으므로 터미널 개발자는 거의 이점을 얻기 위해 추가 작업을 수행해야했습니다.

그러나 웹 기술 ( Ajaxterm )을 사용하여 구현 된 터미널 에뮬레이터가 하나 이상 있으며 렌더링에 HTML / CSS를 사용하므로 CSS를 사용하여 비례 글꼴을 사용할 수 있습니다. CJS Hayward는이 작업을 수행했지만 매우 오래된 브라우저를 사용해야합니다.

그러한 터미널에서 Vim을 실행한다면, 원하는 것을 얻을 수 있습니다. 컬럼 기반 기능을 사용할 때 엉뚱한 hijinx를 준비하십시오. (예 : j, k블록 별 시각 모드 또는 'colorcolumn'옵션)

업데이트 독창적 인 질문자 인 Carpetsmoker가 주석에서 지적한 것처럼 , Emacs는 적절한 비례 글꼴 지원을 제공하며 M-x termVim을 실행할 수 있는 터미널 에뮬레이터 ( ) 도 포함합니다 . 이례적인 비례 글꼴 애호가는 Emacs의 Vim과 같은 경험을 얻기 위해 Emacs의 악 을 조사 할 수도 있습니다 .


4

비례 글꼴은 Oni , Neovim GUI 에서 지원됩니다 . 최상의 결과를 얻으려면 "webgl"렌더러를 사용하십시오.

 "editor.renderer": "webgl"

참조 https://github.com/onivim/oni/issues/2359


재미있어 보인다! 불행히도 나는이 프로젝트를 실행할 수 없으며 실제로 그것을 디버깅 할 시간이 없다 :-(
Martin Tournoij

github.com/onivim/oni/releases에 사전 빌드 된 아카이브가 있습니다 .
Justin M. Keyes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.