Skip to content

xvim64/vim-text-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vim 텍스트 뷰어는

Vim 에 고정폭 외의 가변폭 한글 폰트

깔끔한 전체화면

아름다운 색상테마와 투명화

글을 작성할 수 있는 편집모드

독서전용 모드인 뷰어모드를 지원하는

한국어 사용자를 위한 Vim 입니다.

프로그램 종료는 F4 입니다

Vim 텍스트 뷰어는 Vim 입니다.

전체화면으로 실행되기 때문에 종료할 수 있는 버튼도 없습니다.

종료는 F4 입니다.

강제 종료는 A+F4 입니다.

:q<엔터> 로도 종료할 수 있습니다.

단축키에 대하나 보다 자세한 내용은 아래 **단축키 (+ 대용량 파일 지원)**에서 확인하세요.

추가 폰트를 설치하세요

VimView/fonts 폴더안의 otf, ttf 폰트 파일을 설치해야 추가된 영문/한글 폰트를 사용할 수 있습니다.

설정파일(config/_vimrc.txt) 에서

let s:bFontListAuto = 1 (또는 0)

에서 값이 1 이면 C:/Windows/Fonts 에서 사용가능한 폰트로 폰트 목록을 자동으로 구성하기 때문에 포터블로 사용할 수 있습니다.

0 이면 사용할 폰트 목록을 사용자가 직접 구성해야합니다.

폰트 관련 설정은 아래의 설정 변경 동영상을 참고하세요.

중요한 파일은 작업전에 항상 원본의 복사본을 마련해두세요

Vim 텍스트 뷰어는 뷰어로서의 기능뿐만 아니라 Vim 의 편집기능도 같이 지원합니다.

뷰어모드에서 기본적인 편집키를 막아뒀지만 Vim 이 워낙 방대하기 때문에 그래도 샛길이 있을 수 있습니다.

또한 Vim 에 익숙하지 않을 경우 잘못된 키 입력으로 인해 중요한 파일을 삭제하거나 변경하는 일이 발생할 수 있습니다.

중요한 파일이라면 작업전에 항상 원본의 복사본을 마련해두세요.

보다 많은 한글 폰트를 지원합니다

Vim 은 guifont, guifontwide 두 가지 옵션을 통해 영문과 한글에 각기 다른 고정폭 폰트만을 지정할 수 있습니다.

하지만 Vim 을 빌드할 때 FEAT_PROPORTIONAL_FONTS 기능을 활성화하면 guifontwide 에 고정폭 폰트인 돋움체, 굴림체, 바탕체, 궁서체 외에도 가변폭 한글 폰트를 사용할 수 있습니다.

guifont 에는 고정폭 영문 폰트를, guifontwide 에는 가변폭 한글 폰트를 설정하면 Hack + Poor Story, Ubuntu Mono + Gowun Dodum 같은 영문과 한글에 각기 다른 미려한 폰트간의 조합이 가능합니다.

Vim 에서 한글 폰트 부족으로 아쉬워하셨던 분들에게 도움이 되기를 바랍니다.

글쓰기에 좋습니다.

Vim 텍스트 뷰어는 Vim 입니다.

Vim 에서는 프로그래밍도 가능하기 때문에 글자만 필요한 일반적인 글쓰기에 Vim 을 사용할 경우 과하면 과했지 부족함은 전혀 없습니다.

이러한 Vim 에 전체화면, 투명화, 가변폭 한글 폰트 지원을 추가했기 때문에 더욱 미려한 환경에서 글을 쓰는 게 가능합니다.

여기에 화면 분할, 검색, 이동, 치환, 정규식, 매크로를 지원하기 때문에 문서를 효율적으로 다룰 수 있습니다.

단축키 (+ 대용량 파일 지원)

Vim 은 GB 단위의 대용량 텍스트 파일을 편집할 수 있으며 대용량 파일에서도 빠르게 작동합니다.

아래 영상은 GB 단위는 아니지만 308 MB의 대용량 텍스트 파일에서 단축키를 테스트 하는 영상입니다.

일반적인 환경에서는 보기 힘든 수백 MB 의 대용량 텍스트 파일이지만 Vim (텍스트 뷰어)에서는 시간지연 없이 빠르게 작동합니다.

단축키에 대한 더 자세한 사항은 MyTXT/단축키.txt 를 참고하세요.

아래 이미지를 클릭하면 단축키에 대한 동영상을 재생합니다.

0:25 - 대용량 파일 열기
0:38 - 뷰어모드 <-> 편집모드 전환
2:05 - 저장
2:27 - 외부 편집기 실행
3:42 - 줄번호 on/off
3:52 - 다음 페이지 넘김
4:20 - 이전 페이지 넘김
4:40 - 마지막 페이지 이동
4:48 - 처음 페이지 이동
4:58 - 글자 크기 변경
5:50 - 다단
8:34 - 현재줄 표시 on/off
8:43 - 이동 (줄번호)
9:00 - 이동 (퍼센트)
9:12 - 이동 (검색어)
10:24 - 색상테마 변경
11:00 - 무작위 생성 색상테마 적용
11:29 - 색상테마 기본값
11:35 - 투명화
12:17 - 한글 폰트 변경
12:52 - 한글 폰트 기본값
13:00 - 1/2 수직 부분 전체화면
13:30 - 전체화면 복귀
13:55 - 다른 파일 열기
14:17 - 프로그램 종료
14:28 - 다단, (부분) 전체화면 명령어 직접 입력

단축키+명령어+대용량파일지원

  • 단축키
뷰어모드 <-> 편집모드 전환 : F1

파일 탐색 : F2

변경사항 저장 : F3

프로그램 종료 : F4

투명화 : S-F5

무작위 생성 색상테마 : F5

색상테마 변경 : F6

한글 폰트 변경 : F7

줄 번호 : F8

검색 구문 색상 강조 해제 : F9

전체화면 <-> 최대화, 부분 전체화면 : A-F11

부분 전체화면 : S-C-F10/F11/F12

폰트 크기 변경 : F10, S-F10, F11, S-F11, F12, S-F12

설정 변경

Vim 텍스트 뷰어는 Vim 이기 때문에 다른 윈도우 프로그램과 같은 설정 변경을 위한 윈도우창을 제공하지 않습니다.

설정을 변경하려면 Vim 설정파일인 config/_vimrc.txt 를 Vim 텍스트 뷰어의 편집모드나 윈도우 메모장 같은 텍스트 편집기로 열여서 수정해야합니다.

아래 이미지를 클릭하면 설정 변경 동영상을 재생합니다.

0:22 - 시작시 폰트 크기
0:52 - 시작시 빔 색상테마
1:27 - 시작시 사용자 색상테마
2:00 - 시작시 무작위 생성 색상테마
2:35 - 시작시 다단
3:40 - 영문/한글 폰트목록 자동
4:07 - 영문 폰트목록 수동
4:27 - 한글 폰트목록 수동
4:56 - 시작시 투명/불투명
5:20 - 파일 탐색 선택
5:53 - 시작 디렉토리
6:27 - 마지막 위치 복원
6:52 - 시작시 일반화면, 최대화, (부분) 전체화면
8:44 - 왼편 여백
8:58 - 시작시 뷰어모드, 편집모드
9:20 - 외부 편집기
9:58 - 색상 강조

설정 변경

지원 기능

  • 텍스트 파일 문서 뷰어 지원

  • 텍스트 파일 문서 편집 지원

    Vim 고유 편집모드 Easy Vim 편집모드 외부 편집기

  • 가변폭 폰트 지원 (화면 출력은 고정폭)

  • 대용량 파일 지원

    32비트 : 2GB 까지 지원 64비트 : 사용가능한 스왑파일 용량에 따라 결정

  • 여러 인코딩 지원

    cp949 utf-8 utf-16le ...

  • 색상테마 지원

    빔색상테마 : solarized 같은 프리셋 색상파일 사용자색상테마 : 글씨색/배경색 직접 지정 무작위생성색상테마 : 글씨색/배경색 무작위 생성

  • 전체화면 지원

  • 부분 전체화면 지원 (수직/수평 1/2)

  • 투명화 지원

  • 물리적 한계치까지 무제한 다단 지원

뷰어모드

뷰어모드는 Vim 편집모드(C-F1)의 Normal 모드에서 깜빡거리는 커서 제거, 페이지 넘김시 문장 중복 제거, 긴 문장을 여러줄에 표시를 적용한 독서 전용모드입니다. 뷰어모드에서는 페이지 넘김인 페이지 업/다운 외에 편집에 쓰이는 스페이스, 엔터, 방향키도 페이지 넘김에 할당해서 보다 편리하게 문서를 넘길 수 있도록 했습니다.

편집모드

Vim 자체의 편집기능 외에도 Vim 을 메모장처럼 간단히 쓸 수 있는 Easy Vim 기능과 외부 편집기 실행 기능을 추가했습니다.

  • Vim 편집모드 (C-F1)

    뷰어모드를 적용하지 않은 본래의 고급 텍스트 편집기인 Vim 입니다. Vim 을 배우려는 사용자와 Vim 에 익숙한 사용자를 위한 편집모드입니다. Vim 만의 독특한 모드와 고유의 키바인딩 때문에 Vim 을 처음 접하는 사용자는 어느정도 Vim 의 사용법에 대한 학습을 필요로합니다.

  • Easy Vim 편집모드 (F1)

    Vim 에 insertmode 가 적용된 Vim 입니다. Vim 을 윈도우 메모장처럼 사용할 수 있어 Vim 을 처음 접하는 사용자라도 쉽게 문서를 편집할 수 있습니다. 하지만 Vim 의 기능이 제약되기 때문에 본래 Vim 의 키바인딩에 익숙한 사용자의 경우 오히려 더 불편할 수 있습니다.

  • 외부 편집기 실행 (A-F1)

    파일 편집시 외부 프로그램을 이용합니다. Vim 에 어려움을 느끼는 사용자와 다른 텍스트 편집 프로그램에 익숙한 사용자를 위한 기능입니다. 텍스트 문서를 다룰 수 있는 프로그램이라면 뷰어, 편집기, 기타 등등 그 어떤 것이든 사용자 마음대로 설정할 수 있습니다. 기본값은 윈도우 메모장입니다.

전체화면

텍스트 윈도우만을 화면에 표시합니다.

글씨와 배경만 표시되기 때문에 심플한 Vim 을 더욱 심플하게 만듭니다.

부분 전체화면

수직/수평 1/2 전체화면을 지원합니다.

모니터 해상도가 커서 전체화면에서 왼편에서만 작업하기 힘든 경우 사용하면 좋습니다.

투명화

단색 배경에 의한 눈의 피로를 줄이고 미려한 폰트, 컬러풀한 색상테마, 심플한 전체화면과 어울려 Vim 텍스트 뷰어를 더욱 아릅답게 만듭니다.

무제한 다단 (화면분할)

Vim 텍스트 뷰어의 다단 기능은 Vim 의 화면 분할 기능과 Vim 의 매크로를 이용해서 구현했기 때문에 화면 해상도에 따라 융통성있게 필요한 만큼 화면을 분할하는 것이 가능합니다.

화면에 물리적인 공간만 허용되면 10 분할 및 그 이상도 가능합니다.

S+F1/F2/F3/F4, S+C+F1/F2/F3/F4 키에 화면 1~8 분할을 지정했습니다

화면 8 분할을 넘어 그 이상인 10 분할을 하고 싶다면 ":Ns 10" 명령어를 실행하거나 config/_vimrc.txt 에서 "let s:nKeyNSplit = [1,2,3,4,5,6,7,8]" 에서 해당 분할키에 할당된 분할수를 조절할 수 있습니다.

3 종류의 색상테마

  • 빔색상테마

    solarized, gruvbox, molokai, jellybeans, monokai 같은 색상 정보를 담고 있는 색상 설정 파일입니다. 일반 텍스트 파일 뿐만 아니라 C/C++, Python, HTML, MD(Markdown) 같이 특정 키워드를 강조하기 위한 문서 파일에 이용합니다.

  • 사용자색상테마

    텍스트 뷰어에 사용할 글씨색-배경색을 직접 지정해서 사용할 수 있습니다. 글씨색-배경색만 필요한 일반 텍스트 파일에 이용할 수 있습니다.

  • 무작위생성색상테마

    텍스트 뷰어에 사용할 글씨색-배경색을 무작위로 생성합니다. 키는 F5 입니다. 계속 누르다보면 독특하거나 색다른 색상이 나옵니다. 글씨색-배경색만 필요한 일반 텍스트 파일에 이용하면 좋습니다.

북마크

Vim 텍스트 뷰어는 파일을 열 때 이전에 읽었던 마지막 위치를 복원합니다. (이 기능이 불필요한 경우 설정파일에서 이를 비활성화할 수 있습니다.)

북마크 저장은 각각의 파일마다 a-z 까지 북마크를 지정할 수 있으며 지정은 ma, 북마크 이동은 'a 입니다.

지원 OS

윈도우 7, 8, 10, 11

구성 부분 설명

  • _vimrc.txt

    본래의 Vim 을 Vim 텍스트 뷰어로 변환시키는 기능을 담고 있는 Vim 텍스트 뷰어의 설정파일입니다. 한글 문서 작성에 적합하도록 한글에 중점을 두었습니다.

  • _vimrc_vi.txt

    Vim 텍스트 뷰어의 뷰어모드를 제거한 프로그래밍에 중점을 둔 설정파일입니다. 소스코드 작성에 적합하도록 영문에 중점을 두었습니다. vim-plug, vim-surround, rainbow, vim-signature, nerdtree, vim-airline, vim-airline-themes 등 프로그래밍에 도움을 주는 플러그인을 추가했습니다.

  • .vim 디렉토리

    vim-plug, vim-surround, rainbow, vim-signature, nerdtree, vim-airline, vim-airline-themes 플러그인이 있는 곳입니다.

  • gvimfullscreen.c (gvimfullscreen32.dll, gvimfullscreen64.dll)

    Vim 텍스트 뷰어에 풀스크린과 투명화를 지원합니다.

  • _VimView.ico

    VimView.exe 파일에 표시되는 Vim 텍스트 뷰어의 아이콘 파일입니다.

  • VimView.c, VimView.exe

    _vimrc.txt 를 설정파일로 해서 gvim.exe 를 실행합니다.

  • vi.c, vi.exe

    _vimrc_vi.txt 를 설정파일로 해서 gvim.exe 를 실행합니다.

  • gvim.exe

    가변폭 한글 폰트, 상단 여백을 지원하기 위해 Visual Studio 2022 Community Edition 에서 Vim 소스코드를 컴파일한 Vim 실행파일입니다. VimView.exe 가 아닌 vim82/gvim.exe 를 실행할 경우 설정파일을 읽어들이지 않기 때문에 Vim 텍스트 뷰어가 아닌 본래의 Vim 으로 작동합니다.

  • text.vim

    텍스트 문서의 특정 구문에 색상강조(하이라이팅)를 지원합니다. 텍스트 문서의 색상강조를 원하지 않는 경우 vim82/syntax/text.vim 을 삭제하거나 정규식을 이용해서 색상강조가 적용되는 문장을 변경할 수 있습니다.

  • 영문 고정폭 폰트

    Hack, JetBrains Mono, Ubunto Mono, Nova Mono, Fira Code Retina

  • 한글 고정폭 폰트 (고정폭 영문 포함)

    D2Coding

  • 한글 가변폭 폰트

    Poor Story, 네이버 마루부리 및 나눔글꼴, 리디바탕, 삼립호빵체, 프리텐다드(Inter + 본고딕), 함초롬체, Gugi, SunFlower, 꼬미, 반달이, 고운 돋움, 고운 바탕

  • 색상테마 파일

    solarized, molokai, monokai, gruvbox, jellybeans

빌드 (컴파일)

Vim 에 가변폭 폰트 지원과 상단여백을 추가했기 때문에 Vim 텍스트 뷰어에서 사용하는 설정파일은 Vim 홈페이지에서 공식적으로 배포하는 Vim 과 호환되지 않습니다.

빌드시에는 상단 여백 패치를 먼저 적용한 후 makefile 을 실행하세요.

  • 상단 여백 패치 적용

    Vim 텍스트 뷰어의 src/build/patch/ypadding 의 gui.c.patch, option.h.patch, optiondefs.h.patch 를 GitHub 에서 내려받은 Vim 의 src 폴더에 적용합니다. 패치를 적용하기 위해서는 윈도우용 git 에 있는 patch.exe 를 필요로 합니다.

  • 가변폭 폰트 지원 활성화

    GitHub 에서 내려받은 Vim 의 src 폴더에서 상단 여백 패치를 적용후 빌드시 FEAT_PROPORTIONAL_FONTS 매크로를 추가합니다. Visual Studio 2022 을 이용해서 빌드할 경우 src/build/make/vs2022/vs2022_x64.cmd 를 참고하세요.

알려진 이슈들

  • Vim 은 글자를 고정폭으로 표시합니다. 가변폭 폰트를 사용하더라도 화면 표시는 고정폭입니다.

  • Vim 텍스트 뷰어의 무제한 다단은 Vim 의 vsplit 명령어와 매크로를 이용해 구현되었습니다. 다단에서 각각의 버퍼는 동일한 파일을 공유하지만 독립적이기도 합니다. 따라서 마우스 휠을 돌리거나 방향키를 이용할 경우 특정 버퍼에만 효과가 발생하여 다단이 흐트러질 수 있습니다. 뷰어모드에서는 단점이 될 수 있지만 편집모드에서는 각 버퍼에서 따로 작업할 수 있기 때문에 대단히 유용합니다. 다단이 흐트러질 경우 같은 다단키를 다시 한 번 누르면 편집모드에서는 해당 버퍼를 기준으로 다단이 재정렬되고 뷰어모드에서는 맨 왼쪽 버퍼를 기준으로 다단이 재정렬됩니다.

  • 부분 전체화면 등에서 큰 글자를 사용할 경우, 매크로로 이루어진 명령어 실행시 알림 메시지가 길어서, 하단에 사용자 입력을 요구하는 경우, 매크로 명령어의 일부 문자가 이에 이용되어 오작동하는 경우가 발생할 수 있습니다. 이를 방지하려고 최대한 노력했지만 Vim 의 특성이라 어쩔 수 없는 경우도 있습니다. 그럴 때는 글자 크기를 줄여서 사용하세요.

  • 영문과 한글에 각기 다른 폰트를 사용했기 때문에 맑은 고딕, 고운 돋움, 고운 바탕의 경우 한글이 영문보다 낮은 위치에서 출력됩니다. 영문과 한글이 같이 포함된 문서라면 영문이 한글의 윗첨자처럼 보일 수 있습니다.

라이선스 및 출처

Vim 텍스트 뷰어는 각기 다른 라이선스를 갖는 여러 부분으로 구성되어 있습니다.

Vim 텍스트 뷰어의 핵심인 _vimrc.txt, _vimrc_vi.txt 와 Vim 텍스트 뷰어의 아이콘 파일인 VimView.ico 는 GPL-2.0 License 라이선스를 따릅니다.

Vim 텍스트 뷰어의 VimView.c, vi.c, text.vim 은 Vim 텍스트 뷰어의 구성 부분이긴 하지만 라이선스를 명기할 정도는 아니어서 GPL-2.0 License 에서 제외합니다.

Vim 텍스트 뷰어에 전체화면과 투명화를 지원하기 위해 변경한 gvimfullscreen.c 는 Derek McLoughlin's gVimFullScreen 과 Yasuhiro Matsumoto (a.k.a mattn)'s VimTweak 에서 채택한 라이선스를 따릅니다.

Vim 텍스트 뷰어에 포함된 폰트는 Open Font License, Ubuntu Font License, 안심 글꼴 라이선스 등 사용 및 배포에 제약이 적은 폰트 위주로 구성하였습니다. 단 함초롬체의 경우 사용자들은 함초롬체를 자유롭게 배포할 수 있으나, 상업적인 목적으로는 배포 및 수정할 수 없습니다.