TOT0Ro’s vimrc & Plugin


2 분 소요

Vimrc

Vim Plugin

설치 되어있는 플러그인들이다.
모두 유명한 플러그인이라 구글에 플러그인 이름을 검색하기만 해도 github repo가 검색된다.
내 것을 그대로 사용해도 되지만 입맛대로 고쳐서 쓰자.

set rtp+=~/.config/nvim/bundle/Vundle.vim
call vundle#begin('~/.config/nvim/bundle')

나는 nvim(neovim)을 사용하므로 기본 vim을 사용하시는 분들은 경로를 수정해주어야 한다.

쓰면 편한 플러그인.

  • tpope/vim-sensible : 기본적인 vim 설정 모음집.
  • scrooloose/nerdtree : 그 유명한 NERDtree이다.
  • bling/vim-airline, vim-airline/vim-airline : 이 두 개는 같은 경로를 가르킨다. vim의 상하단에 버퍼리스트와, 행/열 번호와 파일이름, 파일형식(확장자), 유니코드 등을 표시해준다.
  • vim-airline/vim-airline-themes : vim-airline의 테마이다. 세트메뉴다.
set laststatus=2 " vim-airline을 위해 상태바 2set expandtab
let g:airline#extensions#tabline#enabled = 1 " turn on buffer list
let g:airline#extensions#tabline#left_sep = ' ' " ~
let g:airline#extensions#tabline#left_alt_sep = '|' " tabline
let g:airline#extensions#tabline#formatter = 'unique_tail' " buffer format
  • altercation/vim-colors-solarized : solarized 테마이다. VIM테마이다.
  • Shougo/neocomplcache.vim : 자동 완성 기능이다.

” 자동완성 기능

let g:neocomplcache_enable_at_startup = 1
  • scrooloose/nerdcommenter : 주석에 대한 정책을 만들 수 있는 플러그인이다.

Kernel 분석 시에 좋은 플러그인

  • majutsushi/tagbar : 해당 파일에 어떤 함수나 변수가 선언되어 있는지, 정의되어 있는지 화면 우측에 리스트로 주욱 표시해준다. 해당 커서에서 엔터를 입력하면 해당 식별자로 점프한다.

  • wesleyche/SrcExpl : 현재 커서에 위치한 식별자데 대한 정의를 화면 하단에 보여준다.
    " SrcExpl
    let g:SrcExpl_winHeight = 8 "SrcExpl window height
    let g:SrcExpl_refreshTime = 100 "refreshing time = 100ms
    let g:SrcExpl_jumpKey = "<ENTER>" "jump to definition
    let g:SrcExpl_gobackKey = "<SPACE>" "come back
    let g:SrcExpl_isUpdateTags = 0 "tag file update = off
    
  • xolox/vim-easytags : 자동 C tag 생성과 구문강조.
    " easy-tag
    let g:easytags_async = 1 " tags async
    let g:easytags_auto_highlight = 0 " slowly 느려져서 사용안함.
    let g:easytags_include_members = 1 " tracking member variable
    let g:easytags_dynamic_files = 1 " current project tags file load, non-exist global tags load
    
  • ronakg/quickr-cscope.vim : cscope 가속기? 그리고 단축키.

Key Mapping

" Key Mapping
nmap <F1> :SrcExplToggle<cr> " 소스익스플로러 토클버튼
nmap <F2> :NERDTreeToggle<cr> " 너드트리 토글버튼
nmap <F3> :TagbarToggle<cr> " 탭바 토글버튼
nmap <F4> <C-w>- " 가로분할 커서 있는 화면 창크기 축소
nmap <F5> <C-w><C-s> " 가로분할
nmap <F6> <C-w><C-v> " 세로분할
nmap <F7> <C-w><C-q> " 분할화면 종료
nmap <F8> <C-w><C-w> " 다음 화면으로 이동 (좌상단에서 우하단으로 한바퀴 훑음)
nmap <F9> <C-w>+ " 가로부할 커서 있는 화면 창크기 확대
nmap <F10> :bd<cr> " 현재 파일 버퍼에서 제거
nmap <F11> :bp<cr> " 이전 버퍼 파일로 이동
nmap <F12> :bn<cr> " 다음 버퍼 파일로 이동

Kernel 분석 시, 가로 세로 화면 split과 버퍼 이동이 잦으므로 키로 매핑하여
빠르게 분석하였다. F4와 F9는 추후 변경 예정.

Reference

(https://bakyeono.net/post/2015-08-13-vim-tab-madness-translate.html) : vim의 tab, buffer 사용법, linux 커널 ctags, cscope 파일 만드는 법 : $cd linux , $make ARCH=arm64 tags, cscope

(https://nolboo.kim/blog/2016/09/20/vim-plugin-manager-vundle/) : vim 플러그인 관리자 Vundle

(http://jen6.tistory.com/119) : ctags cscope tapbar 기본

(http://vlee.kr/1142) : vim 플러그인 기본

관련 내용에 대한 질문이나 태클을 환영합니다. 댓글 남겨주세요.



태그: , , ,

카테고리:

작성:

댓글남기기