-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvimrc_basic
More file actions
136 lines (106 loc) · 6.14 KB
/
vimrc_basic
File metadata and controls
136 lines (106 loc) · 6.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
" 기본 Vim을 위한 설정
" 아무 테마나 폰트를 설치하지 않았을 때 사용
"
""" 레퍼런스
" http://vim-ko.github.io/doc/quickref.html
" http://wujek2.ia.pw.edu.pl/wujek/wa/prog/vim/options.html
" http://vimdoc.sourceforge.net/
""" vim
set nocompatible " nocp; 오리지널 Vi 와의 호환성을 없애고, Vim 만의 기능들을 쓸 수 있게 함.
set history=999 " hi; 명령어 히스토리 수
set noswapfile " noswf; swap 파일을 만들지 않음
set nobackup " nobk; 백업파일을 만들지 않음. 백업파일은 편집하는 파일 앞에 ~로 시작하는 파일
" set backupdir=~/tmp " 백업 파일을 만들 경우, 백업 파일의 경로를 지정. 미리 tmp 폴더를 만들어 두어야 함.
set wildignore=*.o,*.obj,*.bak,*.exe,*.pyc,*.DS_Store,*.db " wig; 자동 완성시키지 않을 파일들 패턴
set wildignorecase " wic; 파일명 자동 완성 시 대소문자를 무시
set lazyredraw " lz; 매크로 실행중에 화면을 다시 그리지 않음 "
set showcmd "sc; 상태 표시줄에 (입력중인) 명령을 표시. 근데 무슨 차이인지 모르겠음.
set laststatus=2 " ls; 상태 표시줄을 항상 보이도록
set wildmenu " wmnu; 명령줄 자동 완성 시 메뉴를 사용
"set termencoding=utf-8 " tenc; 터미널의 문자 인코딩
"set lines=100 "화면에 표시되는 줄 수
"set magic " magic 기능 사용
set foldlevel=99
" 파일의 종류를 자동으로 인식
filet plugin indent on
" ffs; 자동으로 인식할 'fileformat' 값
set ffs=unix,mac,dos
""" key mapping
" xmllint
map <F9> <Esc>:1,$!xmllint --format -<CR>
" leader 키 설정(기본키는 \)
let mapleader=','
" scroll
map <C-j> <C-e> " 위로 스크롤
map <C-k> <C-y> " 아래로 스크롤
" 영역이 지정된 상태에서 Tab 과 Shift-Tab 으로 들여쓰기/내어쓰기를 할 수 있도록 함.
vmap <Tab> >gv
vmap <S-Tab> <gv
" 커서가 위치한 단어를 다음 영어사전에서 찾아줌
map <F8> :!open /Applications/Google\ Chrome.app http://dic.daum.net/search.do?q=<cword><CR>
"set keywordprg=<my command> " K를 눌렀을 때 실행할 명령어. 기본적으로는 manpage
" 더블 탭으로 분할된 창끼리 쉽게 이동
nmap <TAB><TAB> <C-w><C-w>
" 왼쪽의 글자를 오른쪽의 글자로 자동으로 변경
" abbr은 ab로 줄일 수 있음
abbr fucntion function
abbr fales false
abbr retrun return
""" ime
"set noimd "no imdisable 이라는 의미로 한글입력기 등을 사용하게 하는 설정이라고 하는데, 이거 설정하면 한글 입력시 개판됨
set iminsert=1 " imi; 편집(insert)모드를 빠져나갈 때 (즉 ESC를 눌렀을 때) IME(한글입력기)를 off상태로 만든다.
set imsearch=-1 " ims; 찾기 패턴을 입력할 때 :lmap 이나 IM을 사용. 근데 뭔 말인지 모르겠다.
""" encoding
set encoding=utf-8 " enc; 'encoding' 옵션은 Vim에게 당신이 사용할 문자의 인코딩을 알려줍니다. 이 인코딩은 버퍼의 내용(당신이 편집중인 파일), 레지스터, Vim 스크립트 파일 등에 적용됩니다. 'encoding'을 Vim 내부의 옵션으로 생각하면 됩니다.
set fileencoding=utf-8
set fileencodings=utf-8,cp949,ucs-bom "파일을 읽어 들일때 앞에 것부터 차례로 시도 합니다. 3개 이상 써도 될겁니다. 여기서 결정된 인코딩으로 fenc 옵션이 설정됩니다. 다 실패 했다면 enc 값을 따릅니다. 이 값은 환경 변수에서 얻어옵니다.
" 관련글: https://kldp.org/node/32987
""" theme
set background=dark " bg; 배경색을 어두운 걸로
colorscheme murphy
""" font
set guifont=Monaco:h15 " gfn
if has("win32")
" 인코딩을 UTF-8로 한 경우, 메뉴가 깨지는 문제 방지
let $LANG = 'ko_KR.UTF-8'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set lines=999 columns=999 " 이 옵션은 윈도우즈에만 적용
endif
if has("gui_macvim")
set guifont=Monaco:h15
set transparency=5 "불투명도
set antialias " anti; 맥 OS X에서 부드럽고 에일리어싱 제거된 글꼴을 사용
endif
" gVim 을 사용중일 경우 클립보드를 unnamed 레지스터로 매핑
if has("gui_running") || has("xterm_clipboard")
set cb=unnamed
endif
""" editor
syntax on " 자동 문법 강조
set numberwidth=2 " nuw; 줄 번호 표시에 사용할 최소한의 열의 수.
set number " nu; 줄번호
set showmatch " sm; 괄호 입력 시 짝이 되는 괄호로 잠시 갔다가 돌아옴.
set visualbell " vb; 오류음 대신 비주얼벨 사용. 무슨 차이인지 모르겠음"
set ruler " ru; 상태표시줄 오른쪽에 커서의 위치를 보여줌.
set backspace=2 " bs; indent,eol,start. Backspace 키 동작 방식
set hlsearch " hls; 검색어 하이라이팅
set linespace=1 " lsp; 줄간격 "
set ignorecase " ic; 찾기할 때 대소문자 구분하지 않음
set tabstop=4 " ts; 탭 간격"
set shiftwidth=4 " sw; 자동 들여쓰기 간격 "
set softtabstop=4 " sts; 편집 시 <Tab>을 누르면 들어가는 공백의 수
set autoindent " 새로운 줄의 들여쓰기를 이전 줄에서 가져옴
set cindent " C 언어 스타일 자동 들여쓰기
set smartindent "cindent 와 비슷 하지만 #if, #ifdef, #define 등과 #으로 시작하는 전처리기 명령어에 대해서는 자동 들여쓰기를 무시하고 다음 라인의 첫번째 열로 이동한다.
set scrolloff=5 "so; 커서 위나 밑에 표시할 최소 줄 수. 정확히 뭔지 모르겠음.
set paste " 외부 텍스트를 붙여넣기 할 때 자동 들여쓰기 막기
"set textwidth=120 " tw; 한 줄에 입력할 수 있는 글자 수. 띄어쓰기가 없으면 초과되도 계속 한 줄로 입력됨.
set wrap "긴 줄을 다음 줄로 넘겨가며 모두 표시
set cursorline " cul; 현재 커서가 있는 줄을 강조
"set cursorcolumn " cuc; 현재 커서가 있는 열을 강조
set list lcs=tab:\┆\ ,trail:~ " Tab 부분을 ┆ (공백)으로 표시하고 줄끝 공백을 ~로 표시
set expandtab " et; <Tab>이 입력되면 스페이스 공백들을 삽입
""" 찾기
"set wrapscan " 찾기에서 파일의 맨 끝에 이르면 문서 처음으로 이동해서 계속 찾음
set incsearch " 찾기 패턴을 입력하는 중에도 일치하는 곳을 강조