gvim 폰트 설정
gvim에서 글자 높이 간격 조절 못하나
가능해요! gVim(그래픽 Vim)에서는 'linespace' 옵션으로 줄 간격(글자 높이 사이 여백)을 조절합니다.
바로 써보기 (일시적으로)
명령줄 창에서:
:set linespace=4 " 줄 사이에 4픽셀 여유
:set linespace=0 " 기본값(여유 없음)
-
값은 “픽셀” 단위예요. 숫자가 클수록 줄 간격이 넓어집니다.
-
일부 환경에선 음수도 되지만(줄을 더 촘촘히), 글자 잘림이 생길 수 있어 보통 0 이상 을 권장합니다.
항상 적용하기 (gvimrc)
GUI에서만 적용하려면 gVim 전용 설정 파일에 넣는 게 깔끔해요.
-
Windows:
_gvimrc -
macOS/Linux:
~/.gvimrc
예시:
vim
" ~/.gvimrc
set linespace=3
참고/팁
-
터미널 Vim(콘솔에서 돌리는 Vim)은
linespace가 없어요. 그땐 터미널 앱 자체의 “line spacing/line height” 설정을 조절해야 합니다. - 줄 간격이 너무 빽빽하거나 헐렁하면 폰트 크기 도 같이 조절해 보세요:
vim " 예) Windows set guifont=Consolas:h14 " 예) macOS set guifont=Menlo:h14 - 도움말:
:help 'linespace'
원하시는 느낌(조금만 넓게: 23, 더 넓게: 4 6)을 몇 값 시도해 보시고 가장 편한 숫자로 정착하시면 됩니다.
한글 폰트가 별로라서 읽기 힘든건가. sudo 권한 없이 redhat 8.x에 폰트 설치해서 gvim에 사용하고 싶어
가능하죠! sudo 없이도 개인 사용자 영역 에 폰트를 넣고 gVim에서 바로 쓸 수 있어요.
아래 순서 그대로 따라오세요 (RHEL 8.x 기준).
1) 내 폰트 폴더 준비
mkdir -p ~/.local/share/fonts # 표준 위치 (권장)
# (구형 환경 호환용) ~/.fonts 도 인식되지만, RHEL 8이라면 위 경로를 쓰세요.
2) 폰트 파일 복사
다운로드한 .ttf/.otf 파일을 위 폴더로 옮깁니다.
(예: D2Coding, NanumGothicCoding 같은 한글 모노스페이스 폰트가 gVim에 잘 맞습니다.)
cp ~/Downloads/D2Coding*.ttf ~/.local/share/fonts/
3) 폰트 캐시 갱신 (sudo 불필요)
fc-cache -f -v ~/.local/share/fonts
-
정상이라면 새로 스캔된 폰트 목록이 주르륵 출력돼요.
-
확인용:
fc-list | grep -i d2coding
4) gVim에서 폰트 적용
(a) 일시 적용
gVim 명령줄(:)에서:
vim
:set guifont=D2Coding\ 12
-
공백은
\로 이스케이프합니다. (D2Coding 12→D2Coding\ 12) -
다른 예:
vim :set guifont=NanumGothic\ Coding\ 13
(b) 항상 적용 (권장)
~/.gvimrc에 추가:
vim
" 기본 인코딩과 폰트
set encoding=utf-8
set guifont=D2Coding\ 12
" 줄 간격이 답답하면 조금 늘리기
set linespace=3
- 폰트 후보를 콤마로 여러 개 적어 첫 번째로 사용 가능한 폰트를 쓰게 할 수도 있어요:
vim set guifont=D2Coding\ 12,NanumGothic\ Coding\ 13,DejaVu\ Sans\ Mono\ 12
5) (선택) 렌더링 품질 개선
개인 설정으로 안티앨리어싱/힌팅을 켜면 가독성이 더 좋아집니다.
mkdir -p ~/.config/fontconfig/conf.d
cat > ~/.config/fontconfig/conf.d/99-user-rendering.conf <<'EOF'
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
</match>
</fontconfig>
EOF
fc-cache -f -v
6) 문제 해결 팁
-
gVim 재시작 후에도 폰트가 안 바뀌면
:echo &guifont로 적용값 확인. -
폰트 이름은
fc-list | cut -d: -f2 | sort -u | less로 실제 등록명을 확인하세요. -
일부 개발 폰트(예: JetBrains Mono, Cascadia Code)는 한글 글리프가 부족 할 수 있어요.
한글 포함 모노스페이스(예: D2Coding , NanumGothic Coding)을 우선 사용하세요. -
터미널용 Vim은
guifont/linespace가 적용되지 않으니 gVim(GUI)에서만 테스트하세요.
원하시면 쓰시는 폰트 후보를 알려주시면, gVim에 맞게 정확한 guifont 문자열까지 딱 맞춰 드릴게요!
회사에서 써도 괜찮은 좋은 폰트 추천해줘
좋아요—회사(상업)에서도 안심하고 쓸 수 있는 한글 친화 폰트 만 골라 드릴게요. 전부 SIL Open Font License(OFL 1.1) 등으로 기업 사용에 제약이 없고, RHEL 8에서도 ~/.local/share/fonts에 넣어 바로 쓸 수 있습니다.
어떻게 골랐나 (짧게)
-
기업 사용 OK 라이선스(OFL 1.1 등)
-
한글 글리프 품질/범위(개발용은 모노스페이스 우선)
-
가독성 & 유지 보수(업데이트/배포 경로 확실)
개발용 (모노스페이스, gVim에 딱)
-
D2Coding – 개발자용 한글 고정폭, 리가처 버전도 있음
라이선스: SIL OFL 1.1. 네이버 배포. GitHub+1- gVim:
:set guifont=D2Coding\ 12
- gVim:
-
NanumGothic Coding – 화면 힌팅 좋아 가독성 안정적
라이선스: OFL 1.1(오픈소스). Adobe FontsFont Squirrel- gVim:
:set guifont=NanumGothic\ Coding\ 12
- gVim:
-
Noto Sans Mono CJK KR – 구글/어도비 합작 CJK 고정폭, 범용성 최고
라이선스: OFL 1.1 , CJK 전각/한글 폭 맞춤에 강점. fontinfo.opensuse.orgnotofonts.github.ioGitHub- gVim:
:set guifont=Noto\ Sans\ Mono\ CJK\ KR\ 12
- gVim:
추천 세트(충돌 대비 폴백):
:set guifont=D2Coding\ 12,Noto\ Sans\ Mono\ CJK\ KR\ 12,NanumGothic\ Coding\ 12
UI·문서용 (비고정폭, 터미널 밖/프레젠테이션 등)
-
Pretendard – 한국어 UI에 많이 쓰이는 산세리프, 가중치 폭넓음
오픈소스 라이선스 표기(상업 사용 가능). Adobe Fonts -
SUIT – UI 본문 최적화 한국어 산세리프, 가벼운 톤
라이선스: OFL 1.1. GitHub -
Noto Sans CJK KR – 글로벌 프로덕트에서 검증된 범용 한글 산세리프
오픈소스 라이선스 표기(상업 사용 가능). Adobe FontsGitHub
(참고) 라틴 전용 개발 폰트와의 병용
- JetBrains Mono , Cascadia Code 는 라이선스상 기업 사용 OK(OFL 1.1)이지만 한글 글리프는 제한적 이라 보통 위 CJK 폰트와 폴백 으로 같이 씁니다. JetBrainsGoogle FontsMicrosoft Learn
gVim에 바로 적용하는 예
vim
" ~/.gvimrc
set encoding=utf-8
" 개발용 모노스페이스 + 폴백
set guifont=D2Coding\ 12,Noto\ Sans\ Mono\ CJK\ KR\ 12,NanumGothic\ Coding\ 12
" 줄 간격 조금만 넓게
set linespace=2
빠른 설치 요약 (sudo 없이)
-
폰트 복사:
~/.local/share/fonts/ -
캐시 갱신:
fc-cache -f -v ~/.local/share/fonts -
gVim에서
:set guifont=...으로 테스트
원하시면 화면 스샷(샘플 코드·한글 문장) 기준으로 2~3개 더 좁혀 드릴게요. 회사 모니터 환경(해상도/스케일) 알려주시면 줄 간격(linespace) 권장값도 같이 맞춰 드립니다!
~/.config/fontconfig/conf.d/99-user-rendering.conf 이 파일은 어떤 application에서 적용되는 설정이야?
짧게 말하면:
~/.config/fontconfig/conf.d/99-user-rendering.conf는 Fontconfig 를 쓰는 모든 리눅스 앱에 “사용자 단위”로 적용되는 설정이에요. 그래서 gVim(GTK 빌드) , 브라우저(Firefox/Chrome), 터미널 에뮬레이터(GNOME Terminal/Kitty 등), VS Code, LibreOffice, 대부분의 Qt/GTK 앱들이 전부 영향을 받아요.
아래 순서로 이해하면 편합니다.
1) 무엇에 적용되나?
-
적용됨 (Fontconfig 사용하는 앱)
-
gVim(보통 GTK3 빌드 → Pango/Cairo/Fontconfig 경유)
-
대부분의 GTK/Qt 앱, Electron /Chromium 계열, Firefox , LibreOffice , Java(OpenJDK) AWT/Swing 등
-
-
적용 안 됨 (Fontconfig 안 쓰는 경우)
-
순수 콘솔 TTY(Ctrl+Alt+F3 같은 가상콘솔): 커널 비트맵 폰트라 Fontconfig 경로를 안 탑니다.
-
일부 특수/옛날 앱(자체 렌더러·정적 링크 등), 컨테이너/샌드박스에서 호스트의 Fontconfig를 안 읽는 경우(예: 일부 Flatpak/Snap 빌드).
-
터미널 안의 Vim(콘솔 Vim) 텍스트는 터미널 에뮬레이터가 그리므로 Vim 자체엔 적용 안 되고, 터미널 에뮬레이터 가 Fontconfig 설정을 반영합니다.
-
2) gVim에선 어떻게?
-
RHEL 8의 gVim이 GTK 빌드 면 이 파일의 안티앨리어싱/힌팅/서브픽셀 설정이 그대로 반영 됩니다.
- 확인:
gvim --version | grep -i gtk # +GTK3 같은 표시가 보이면 GTK 빌드 - 콘솔 Vim은
guifont, Fontconfig 렌더링과 무관합니다(터미널 앱이 폰트를 렌더링).
3) 우선순위/적용 타이밍
-
~/.config/fontconfig/conf.d/는 사용자 전용 오버레이 경로이며, 파일명 앞 숫자가 적용 순서 를 결정합니다.99-...면 보통 가장 늦게 적용되어 덮어쓰기 에 유리합니다. -
폰트 추가/삭제 가 아닐 땐
fc-cache는 보통 필요 없습니다(설정만 바꾼 경우). 앱을 재시작 하면 반영됩니다.
4) 제대로 적용됐는지 빠르게 검증
# 현재 사용자 설정까지 반영된 최종 매칭/렌더링 옵션 보기
fc-match -v "D2Coding:style=Regular:size=12" | egrep 'antialias|hinting|hintstyle|rgba|lcdfilter'
여기 출력이 99-user-rendering.conf의 값과 일치하면, Fontconfig를 쓰는 앱들은 동일하게 그 설정을 따릅니다.
원하시면 사용 중인 앱(예: 터미널/브라우저/에디터)별로 필요한 최소 설정 스니펫 과 함께, 충돌 가능성이 있는 데스크톱 글꼴 설정(GNOME/Plasma)과의 정리 방법도 적어 드릴게요.