수색…
vimrc 파일
 .vimrc 파일 (Vim-wreck라고 발음 함)은 Vim 구성 파일입니다. Vim이 시작할 때마다 Vim에 의해 실행될 명령을 보유합니다. 
기본적으로 파일은 비어 있거나 존재하지 않습니다. 이를 사용하여 Vim 환경을 사용자 정의 할 수 있습니다.
Vim이 vimrc 파일을 저장할 위치를 찾으려면 Vim을 열고 다음을 실행하십시오.
:echo $MYVIMRC
 Unix : Mac이나 Linux와 같은 Unix 시스템에서 vimrc는 .vimrc 라고 불리며 일반적으로 홈 디렉토리 ( $HOME/.vimrc )에 있습니다. 
 Windows : Windows에서는 _vimrc 라고하며 홈 디렉토리 ( %HOMEPATH%/_vimrc )에 있습니다. 
 시작할 때 Vim은 여러 위치에서 vimrc 파일을 검색합니다. 존재하는 첫 번째가 사용되고 나머지는 무시됩니다. 전체 참조는 :h $MYVIMRC 문서를 참조하십시오. 
어떤 옵션을 사용할 수 있습니까?
 어떤 옵션을 사용해야할지 모르는 경우 :options 명령에 관심이있을 수 있습니다. 
그러면 모든 Vim 옵션이 나열되고 현재 값이 표시된 분할이 열립니다. 시도 할 수있는 모든 옵션을 표시하는 섹션이 26 개 있습니다.
예
4 displaying text
scroll    number of lines to scroll for CTRL-U and CTRL-D
    (local to window)
     set scr=20
scrolloff    number of screen lines to show around the cursor
     set so=5
wrap    long lines wrap
     set nowrap    wrap
...
 값 행 (예 : set nowrap )에서 CR 을 눌러 값을 전환 할 수 있습니다 (이진 값 인 경우). 옵션 행 (예 : wrap long line wrap )에서 CR 을 눌러이 옵션에 대한 문서에 액세스 할 수 있습니다. 
파일 및 디렉토리
 Vim을 사용자 정의하기 위해 무엇을 하든지, $HOME 외부에서 절대로 일어나서는 안됩니다 : 
-  Linux, BSD 및 Cygwin에서 $HOME은 보통/home/username/이고,
-  Mac OS X에서 $HOME은/Users/username/이고,
-  Windows에서 $HOME은 일반적으로C:\Users\username\입니다.
 vimrc 및 vim 디렉토리의 표준 위치는 해당 $HOME 디렉토리의 루트에 있습니다. 
- 유닉스 계열 시스템에서 - $HOME/.vimrc <-- the file $HOME/.vim/ <-- the directory
- Windows에서 - $HOME\_vimrc <-- the file $HOME\vimfiles\ <-- the directory
위의 레이아웃은 현재 및 미래에 작동하도록 보장됩니다.
 Vim 7.4는 멋진 vimrc 를 vim 디렉토리에 보관할 수있게 해줍니다. 정말 좋은 생각입니다. 왜냐하면 설정을 바꾸는 것이 더 쉽기 때문입니다. 
7.4를 독점적으로 사용한다면 다음과 같이 충분할 것입니다 :
- 유닉스 계열 시스템에서 - $HOME/.vim/vimrc
- Windows에서 - $HOME\vimfiles\vimrc
 자체 포함 된 vim/ 의 이점을 원하지만 7.4 버전과 이전 버전 또는 이전 버전을 모두 사용하는 경우 가장 단순하고 미래 보장적인 솔루션은이 줄과이 줄만 넣는 것입니다 . 
runtime vimrc
이 파일에서 :
- 유닉스 계열 시스템에서 - $HOME/.vimrc
- Windows에서 - $HOME\_vimrc
 $HOME/.vim/vimrc 또는 $HOME\vimfiles\vimrc 에서 구성을 수행하십시오. 
옵션
세 가지 종류의 옵션이 있습니다.
- 부울 옵션,
- 문자열 옵션,
- 숫자 옵션.
옵션 값을 확인하려면,
-  사용 :set option?옵션 값을 확인하려면,
-  사용 :verbose set option?그것이 마지막으로 설정된 곳을 또한 볼 수 있습니다.
부울 옵션 설정하기
set booloption      " Set booloption.
set nobooloption    " Unset booloption.
set booloption!     " Toggle booloption.
set booloption&     " Reset booloption to its default value.
문자열 옵션 설정
set stroption=baz   " baz
set stroption+=buzz " baz,buzz
set stroption^=fizz " fizz,baz,buzz
set stroption-=baz  " fizz,buzz
set stroption=      " Unset stroption.
set stroption&      " Reset stroption to its default value.
숫자 옵션 설정하기
set numoption=1     " 1
set numoption+=2    " 1 + 2 == 3
set numoption-=1    " 3 - 1 == 2
set numoption^=8    " 2 * 8 == 16
표현식을 값으로 사용
- 연결 사용 : - execute "set stroption=" . my_variable
- 사용 - :let:- let &stroption = my_variable
 참조 :help :set 및 :help :let . 
매핑
- 매핑 후에 주석을 달지 마라.
-  사용 :map <F6>을 매핑하여<F6>매핑 된 모드와 모드를 확인하십시오.
-  사용 :verbose map <F6>을 사용하여 마지막으로 매핑 된 위치를 확인하십시오.
-  :map와:map!너무 일반적입니다. 사용:n[nore]map일반 모드 매핑을위한:n[nore]map, 삽입 모드를위한:i[nore]map, 비주얼 모드를위한:x[nore]map등.
재귀 적 매핑
맵핑에서 다른 맵핑을 사용하려는 경우 에만 재귀 적 맵핑을 사용하십시오.
nnoremap b     B
nmap     <key> db
 이 예제에서 b 는 정상 모드에서 B 처럼 작동하도록 만들어졌습니다. 재귀 적 매핑에서 b 를 사용하기 때문에 <key> 를 누르면 db 와 같지 않은 dB 처럼 작동합니다. 
비 재귀 적 매핑
매핑에서 기본 명령을 사용하려는 경우 에만 비 재귀 매핑을 사용하십시오. 이는 거의 항상 원하는 것입니다.
nnoremap <key> db
 이 예에서는 비 재귀 적 매핑에서 b 를 사용하므로 b 를 재 맵핑했는지 여부와 상관없이 key를 누르면 db 와 같이 항상 작동합니다. 
매핑에서 명령 실행
nnoremap <key> :MyCommand<CR>
매핑에서 여러 명령 실행하기
nnoremap <key> :MyCommand <bar> MyOtherCommand <bar> SomeCommand<CR>
매핑에서 함수 호출하기
nnoremap <key> :call SomeFunction()<CR>
 <Plug> 매핑 매핑하기 
map <key> <Plug>name_of_mapping
 :help map-commands , :help key-notation 및 :help <plug> . 
더 자세한 내용 은 Vim의 키 매핑 (Key Mappings in Vim) 을 참조하십시오.
변수
대부분의 스크립팅 언어와 마찬가지로 vimscript에는 변수가 있습니다.
 다음과 같이 변수를 정의 할 수 있습니다 :let 명령 : 
let variable = value
 다음과 같이 삭제하십시오 :unlet : 
unlet variable
Vim에서 변수는 단일 문자와 콜론을 이름 앞에 붙여서 범위를 지정할 수 있습니다. 플러그인 작성자는이 기능을 사용하여 옵션을 모방합니다.
let g:plugin_variable = 1
 참고 :help internal-variables . 
명령들
- 다음 번에 vimrc를 다시로드 할 때 Vim이 해당 명령을 덮어 쓸 수있게하는 것을 잊지 마십시오.
- 사용자 정의 명령은 대문자로 시작해야합니다.
예제들
command! MyCommand call SomeFunction()
command! MyOtherCommand command | Command | command
-  참조 :help user-commands.
기능들
- 다음에 함수가 정의 된 스크립트를 다시로드 할 때 Vim이 해당 함수를 덮어 쓸 수있게하는 것을 잊지 마십시오.
-  사용자 정의 함수는 대문자 (전역 함수) 또는 s:(스크립트 로컬 함수)로 시작해야하며, 정의 된 자동로드 플러그인과 관련된 이름 앞에 접두사가 있어야합니다 (예 :{&rtp}/autoload/foo/bar.vimfoo#bar#functionname())을 정의 할 수 있습니다.
-  함수에서 매개 변수를 사용하려면 a:parameter_name사용a:parameter_name. 가변 기능을 생략하여 정의 될 수있다...파라미터 사용에 액세스하기 위해a:000(모든 파라미터의 목록), 또는a:0(파라미터의 수와 동일한len(a:000))a:1제 명명 매개 변수 등이 있습니다.
-  함수는 다음과 같이 호출 할 수 있습니다. :call MyFunction(param1, param2)
-  함수의 모든 행은 암시 적으로 a :시작하며, 따라서 모든 명령은 콜론 명령입니다
-  함수가 오류로 인해 실행을 계속하지 못하도록하려면 함수 시그니처에 abort으로 주석을 추가하는 것이 가장 좋습니다
예
function! MyFunction(foo, bar, ... ) abort
    return a:foo . a:bar . (a:0 > 0 ? a:1 : '')
endfunction
스크립트 함수
 함수가 정의 된 파일에서만 함수를 사용할 계획이라면 (더 작은 부분에서 더 큰 함수를 깨뜨렸거나 명령, 매핑 등에서 사용하기 때문에) 접두사를 붙일 수 있습니다 그것은 s: 와 함께 쓸모없는 내부 함수로 전역 네임 스페이스를 낭비하는 것을 피한다. 
function! s:my_private_function() " note we don't need to capitalize the first letter this time
    echo "Hi!"
endfunction
매핑에서 s : functions 사용
 스크립트 로컬 함수가 매핑에서 사용될 경우 특수 <SID> 접두사를 사용하여 참조해야합니다. 
nnoremap <your-mapping-key> :call <SID>my_private_function()<CR>
 참고 :help user-functions . 
그러나 Vim 7 이후에는 (ft) 플러그인에서 매핑 약어, 명령 및 메뉴를 정의하고 자동로드 플러그인에서 기능을 정의하는 것이 가장 좋습니다. 플러그인로드시 사용할 함수는 제외합니다. 이것은 요즘 매핑에서 스크립트의 로컬 함수를 호출해야 할 필요가 있다는 것을 의미합니다.
자동 명령 그룹
- 자동 명령 그룹은 조직에 적합하지만 디버깅에도 유용 할 수 있습니다. 자유롭게 사용하거나 사용하지 않도록 설정할 수있는 작은 네임 스페이스로 생각하십시오.
예
augroup MyGroup
    " Clear the autocmds of the current group to prevent them from piling
    " up each time you reload your vimrc.
    autocmd!
    " These autocmds are fired after the filetype of a buffer is defined to
    " 'foo'. Don't forget to use 'setlocal' (for options) and '<buffer>'
    " (for mappings) to prevent your settings to leak in other buffers with
    " a different filetype.
    autocmd FileType foo setlocal bar=baz
    autocmd FileType foo nnoremap <buffer> <key> :command<CR>
    " This autocmd calls 'MyFunction()' everytime Vim tries to create/edit
    " a buffer tied to a file in /'path/to/project/**/'.
    autocmd BufNew,BufEnter /path/to/project/**/* call MyFunction()
augroup END
 참고 :help autocommand . 
조건부
if v:version >= 704
    " Do something if Vim is the right version.
endif
if has('patch666')
    " Do something if Vim has the right patch-level.
endif
if has('feature')
    " Do something if Vim is built with 'feature'.
endif
 참조 :help has-patch 및 :help feature-list . 
설정 옵션
 일반적으로 다음을 사용 :set 당신의 원하는대로 옵션을 설정할 수 .vimrc . 변경할 수있는 옵션이 많이 있습니다. 
예를 들어 들여 쓰기에 공백을 사용하려면 다음과 같이하십시오.
:set expandtab
:set shiftwidth=4
:set softtabstop=4
구문 강조
터미널에 색상이있는 경우 구문 강조 표시 켜기
if &t_Co > 2 || has("gui_running")
    syntax on
end
뒤 공백과 탭을 표시하십시오. 탭 표시는 Makefile에서 오류를 찾을 때 특히 유용 할 수 있습니다.
set list listchars=tab:\|_,trail:.
highlight SpecialKey ctermfg=DarkGray
색 구성표
 Vim은 몇 가지 미리 설치된 색 구성표와 함께 제공됩니다. Linux에서 Vim과 함께 제공되는 색상 체계는 /usr/share/vim/vim74/colors/ (74는 버전 번호, sans 마침표 임). MacVim은 /Applications/MacVim.app/Contents/Resources/vim/runtime/colors 저장합니다. 
색 구성표 변경
 colorscheme 명령은 현재 색 구성표를 전환합니다. 
예를 들어, 색 구성표를 "robokai"로 설정하려면 다음과 같이하십시오.
:colorscheme robokai
 기본 색 구성표는 default 창의적으로 명명되었으므로 반환하려면 사용하십시오. 
:colorscheme default
 현재 설치된 색 구성표를 모두 보려면 다음을 입력합니다 :colorscheme 다음에 공백 을 입력 한 다음 tab 또는 ctrl을 입력 합니다. d . 
색 구성표 설치
 사용자가 설치 한 색상 구성표는 ~/.vim/colors/ 배치 할 수 있습니다. 이 디렉토리에 색 구성표가 추가되면 colorscheme 명령의 옵션으로 나타납니다. 
새로운 색 구성표를 찾으려면 다양한 색 구성표가 포함 된 vimcolors 와 같은 사이트가 있습니다. 이 같은 도구 또한 vim.ink 하고 생생하게 자신의 색 구성표 작성을 돕기 위해이, 또는 당신이 손으로 그들을 만들 수 있습니다.
열거하는 토글 라인 전환
사용하려면 다음을 입력하십시오.
 :set number 또는 :set nu . 
사용 중지하려면 다음을 입력하십시오.
 :set nonumber 하거나 :set nonu . 
커서 위치에 상대적으로 열거 사용하려면 - 종류 :
 :set relativenumber . 
커서 위치를 기준 으로 열거를 비활성화하려면 다음을 입력하십시오.
 :set norelativenumber . 
 주 : 현재 행이 실제 행 번호를 표시하는지 0 인지를 변경하려면 relativenumber 속성이 활성 인 동안 :set number 및 :set nonumber 명령을 사용하십시오. 
플러그인
Vim 플러그인은 vim의 기능을 변경하거나 향상시키는 데 사용할 수있는 애드온입니다.
vimawesome 에는 플러그인 목록이 있습니다.