문서의 이전 판입니다!
Vim에 관해 정리한다.
vim을 실행하고 version 명령을 내리면 설정파일의 기본 위치와 파일명을 확인할 수 있다. :version
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
# 경로 확인
:echo $HOME
:echo $VIM
# 즉시 편집
:e $MYVIMRC
:e $MYGVIMRC
.vimrc에 때려넣지 말고 ~/.vim/plugin/settings/gui.vim 처럼 ~/.vim/plugin/settings/*.vim으로 기능별 파일로 분리하여 넣도록 하고, .vimrc는 간결하게 유지하라.:help runtimepath
Unix: "$HOME/.vim,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
$HOME/.vim/after"
PC, OS/2: "$HOME/vimfiles,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
$HOME/vimfiles/after"
" 시작시 줄수/컬럼수 지정 : lines와 columns 값을 매우 크게 지정해도 화면을 넘어가지 않게 자동 조정된다. set lines=50 columns=100
~/.vimrc_pc라는 파일이 존재하면 해당 파일을 읽어 들인다. DropBox를 통해 설정 파일을 동기화 하면서, 각 PC별로 따로 설정을 저장하고 읽어들이는데 사용한다.
if (filereadable($HOME . "/.vimrc_pc")) :source $HOME/.vimrc_pc endif
.vimrc 파일을 열고 있는 상태라면 :so % : 현재 열고 있는 파일을 source로 읽으라는 의미:so $MYVIMRC:version :echo expand('~') :echo $HOME :echo $VIM :echo $VIMRUNTIME
if has("gui_running") ... endif
:set guifont=* : 명령을 실행하면 글꼴을 선택해서 즉시 지정하는게 가능하다. 일단 이렇게 원하는 글꼴을 지정한 뒤에:set guifont=<TAB> : nocompatible 모드일 경우 <TAB>키를 누르면 현재 지정된 글꼴 문자열이 자동으로 나오게 된다. 해당 문자열을 설정파일의 글꼴 설정부분에 set guifont=XXX 형태로 넣어주면 된다.set fileencoding=cp949 로 지정한다.inoremap <Up> <NOP> inoremap <Down> <NOP> inoremap <Left> <NOP> inoremap <Right> <NOP>
" firefox, chrome, opera 등이 PATH에 잡혀 있어야하며, 실행파일명이 다를경우 보정해 주어야 한다. " *nix 계열에서는 명령어 끝(% 뒤)에 & 기호를 붙여준다. nnoremap <leader>wf :exe ':silent !firefox %'<CR> nnoremap <leader>wc :exe ':silent !chromium-browser %'<CR> nnoremap <leader>wo :exe ':silent !opera %'<CR> nnoremap <leader>wi :exe ':silent !iexplore %'<CR>
:helptag ~/.vim/doc
~/.bashrcset -o vi
~/.editrcbind -v
~/.ipython/profile_defaultc.TerminalInteractiveShell.editing_mode = 'vi'
readline 사용하는 애플리케이션 공통(ipython 등 포함) ~/.inputrcset editing-mode vi set keymap vi set convert-meta on
8.1.1365 이상 버전으로 업그레이드 하거나 ~/.vimrc에 추가set modelines=0 set nomodeline
:set conceallevel=0
conceallevel이 변경된다면 verbose set conceallevel로 어느 플러그인에서 변경했는지 확인가능" indentLine 플러그인이 자꾸 concealLevel을 변경하기 때문에 함께 설정 필요 " 다른 플러그인에서도 강제 변경이 이뤄진다면 설정 필요할 수 있음 let g:indentLine_setConceal = 0 set conceallevel=0