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
~/.bashrc
set -o vi
~/.editrc
bind -v
~/.ipython/profile_default
c.TerminalInteractiveShell.editing_mode = 'vi'
readline
사용하는 애플리케이션 공통(ipython 등 포함) ~/.inputrc
set 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
:verbose 모드 키
명령으로 해당 키에 해당 모드에서 단축키가 할당돼 있는지, 어느 설정파일/플러그인에서 할당했는지를 확인할 수 있다.# :verbose 모드 키 :verbose imap <Tab>