본문 바로가기
my_lesson/_Vi

VI - JAVA 자동완성 풀러그인

by boolean 2016. 1. 7.
728x90

 리눅스에서의 순정 Vim만으로는 코드 생산성이 답이 안나오더라. 그래서 예전에 한번 실패했던 Vim 플러그인 설치에 다시 도전했고, 잘 쓰고 있다. 사용하는 플러그인과 .vimrc 설정 파일을 공유하는 취지에서 포스팅을 남긴다.

플러그인을 잘 쓰면 왠만한 GUI 에디터 부럽지 않은 성능을 뽑아낸다. 근데 난 플러그인을 잘 못쓰잖아? 난 아마 안될거야...


- 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


댓글