사용자 도구

사이트 도구


vim

Vim

.vimrc 정리하기

  • Open vimrc file 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는 간결하게 유지하라.
  • vim plugin 인 등의 파일이 존재하느 위치 확인
    :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"      

GVim

파일이 존재할 경우 설정 읽어들이기

~/.vimrc_pc라는 파일이 존재하면 해당 파일을 읽어 들인다. DropBox를 통해 설정 파일을 동기화 하면서, 각 PC별로 따로 설정을 저장하고 읽어들이는데 사용한다.

if (filereadable($HOME . "/.vimrc_pc"))
    :source $HOME/.vimrc_pc
endif

~/.vimrc 설정 다시 적용 reload

  • 현재 화면에 .vimrc 파일을 열고 있는 상태라면 :so % : 현재 열고 있는 파일을 source로 읽으라는 의미
  • 일반적인 상황에서는 :so $MYVIMRC

환경변수 확인

:version
:echo expand('~')
:echo $HOME
:echo $VIM
:echo $VIMRUNTIME

GUI 환경에서만 설정 적용

if has("gui_running")
...
endif

GUI 환경에서 글꼴 설정

  • :set guifont=* : 명령을 실행하면 글꼴을 선택해서 즉시 지정하는게 가능하다. 일단 이렇게 원하는 글꼴을 지정한 뒤에
  • :set guifont=<TAB> : nocompatible 모드일 경우 <TAB>키를 누르면 현재 지정된 글꼴 문자열이 자동으로 나오게 된다. 해당 문자열을 설정파일의 글꼴 설정부분에 set guifont=XXX 형태로 넣어주면 된다.
  • compatible 모드일 경우 <TAB> 대신 <Ctrl-E>를 누른다.
  • Windows 에서는 글꼴을 지정하는 설정 파일이 ANSI로 저장돼 있어야만 한다. 설정 파일의 인코딩을 set fileencoding=cp949 로 지정한다.

키보드 화살표 사용금지

inoremap <Up>      <NOP>
inoremap <Down>    <NOP>
inoremap <Left>    <NOP>
inoremap <Right>   <NOP>

HTML을 브라우저에서 바로열기

  • http://stackoverflow.com/questions/8708154/open-current-file-in-web-browser-in-vim
    " 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>

Vim 정리

Plugins

Shell VI Key Binding

  • bash ~/.bashrc
    set -o vi
  • python/Django shell ~/.editrc
    bind -v
  • python - How do I use vi keys in ipython under *nix? ~/.ipython/profile_default
    c.TerminalInteractiveShell.editing_mode = 'vi'
  • readline 사용하는 애플리케이션 공통(ipython 등 포함) ~/.inputrc
    set editing-mode vi
    set keymap vi
    set convert-meta on

취약점

특정 파일 오픈시 modeline으로 명령 실행가능

symbol 사라짐 문제

단축키 매핑확인

  • :verbose 모드 키 명령으로 해당 키에 해당 모드에서 단축키가 할당돼 있는지, 어느 설정파일/플러그인에서 할당했는지를 확인할 수 있다.
# :verbose 모드 키
:verbose imap <Tab>

관련 자료

vim.txt · 마지막으로 수정됨: 2021/12/15 10:25 저자 kwon37xi