리눅스에서의 순정 Vim만으로는 코드 생산성이 답이 안나오더라. 그래서 예전에 한번 실패했던 Vim 플러그인 설치에 다시 도전했고, 잘 쓰고 있다. 사용하는 플러그인과 .vimrc 설정 파일을 공유하는 취지에서 포스팅을 남긴다.
- Vim Plugin 매니저 'Vundle' 설치
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- "~/.vimrc" vim 설정파일에 Vundle 스크립트 추가. ( " 은 주석으로 처리됨)
set nocompatible
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just
" :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
- 플러그인 설치정보를 .vimrc에 추가
" Vim에서 파일 탐색기를 사용할 수 있게 한다. - Nerd Tree
Plugin 'The-NERD-tree'
" Vim에서 자동완성 기능(Ctrl + P)을 키입력하지 않더라도 자동으로 나타나게 - AutoComplPop
Plugin 'AutoComplPop'
" 열려있는 소스파일의 클래스, 함수, 변수 정보 창 - Tag List
Plugin 'taglist-plus'
- Tag List는 ctag 라는 패키지를 사용하므로 설치해 준다. (이게 뭐하는 친구인지는 사실 잘 모른다.)
Ubuntu / Debian 계열 : sudo apt-get install ctags
Redhat / Centos 계열 : sudo yum install ctags
- 설치된 플러그인의 설정을 .vimrc에 추가
" NERD Tree를 왼쪽에 생성
let NERDTreeWinPos = "left"
" NERD Tree는 F7키. Tag List는 F8키에 매칭.
nmap <F7> :NERDTree<CR>
nmap <F8> :TlistToggle<CR>
filetype on
" Tag list가 사용하는 ctags의 경로 설정
let Tlist_Ctags_Cmd = "/usr/bin/ctags"
let Tlist_Inc_Winwidth = 0
let Tlist_Exit_OnlyWindow = 0
let Tlist_Auto_Open = 0
" Tag list 창을 오른쪽으로 생성
let Tlist_Use_Right_Window = 1
그리고 Vim으로 들어가 일반모드에서 :PluginInstall 을 입력하면 vimrc에서 Plugin 명령어로 잡아놓은 플러그인들이 설치된다. 나는 처음에 vim 내에서 창이동을 어떻게 하는지 몰랐는데, Ctrl+ww 하면 다음 창으로 이동이 된다. 좀 더 자세한 기능은 구글링해보시길.
- 추가로 .vimrc에서 잡아놓으면 좋은 설정들
" vi 실행시 number line 생성
set nu
" 코딩 작업시 자동 들여쓰기
set smartindent
" 일반모드에서 / 검색시 하이라이팅
set hlsearch
" 일반모드에서 / 검색시 대소문자 구분하지 않음
set ignorecase
" Tab 관련 설정. 일반적으로 가장 많이 쓰이는 tabstop 4, shiftwidth 4
set tabstop=4
set shiftwidth=4
'my_lesson > _Vi' 카테고리의 다른 글
Vim - Vi 편집기 시작_ [표시:marking, 버퍼:buffer] (0) | 2016.01.14 |
---|---|
Vim - Vi 복사 붙이기 합치기 (0) | 2016.01.12 |
Vim - Vi 편집기 시작_ [커서이동 화면이동,선택]대소문자 주의 (0) | 2016.01.12 |
Vim - Vi 편집기 시작_ [문서열기 새문서 작성] (1) | 2016.01.11 |
Linux - 보안 firewall 방화벽 설정 및 특정포트 열기(개방) (0) | 2015.12.20 |
댓글