티스토리 뷰

반응형


 최근에 회사를 다니기 시작했는데 리눅스에서의 순정 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


왼쪽 창이 Nerd-Tree. 오른쪽 창이 Tag List. 가운데 자동완성이 AutoComplPop


 참고로 Nerd Tree에서 특정 파일 실행시 창 분할로 오픈하고 싶다면 엔터가 이닌 i (수평분할), s (수직분할) 키를 사용하면 된다. 수평으로 분할된 창의 크기 조절은 Ctrl+w (숫자) + 혹은 - 로 사용가능. 수직 분할창의 크기조절 키는 구글링해도 모르겠다. 혹시 지나가시던 능력자 분께서 댓글로 알려주시면 정말로 복받으실 듯 ㅜㅜ


- 참고 포스팅

http://dreamlog.tistory.com/79 

https://dobest.io/install-vundle-and-nerdtree/



반응형
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

  • 프로필사진 varo vim을 배워야 겠군요ㅎㅎㅎ
    모바일개발 하시나봐요..
    2015.07.31 09:45
  • 프로필사진 BlogIcon Yowu 서버 사이드 개발입니다 ㅋㅋ 모바일 vi로 할려했다간 죽음이죠.... 2015.07.31 11:49 신고
  • 프로필사진 BlogIcon Yowu vimrc 설정 파일을 이제 https://github.com/uyu423/vimrc-vundle-script 로 관리 2015.09.28 05:10 신고
  • 프로필사진 지나가다 Vertical window의 컬럼 조절은 "Ctrl-w>" 랑 "Ctrl-w<" 요거네요. 2015.10.20 14:43
  • 프로필사진 지나가다 아래와 같이 한번에 여러 컬럼 늘릴 수도 있고요.

    :vertical resize 5 <= 컬럼 width를 5칸으로 설정
    :vertical resize 5 <= 컬럼 width를 현재에서 5칸 늘림

    출처: http://vim.wikia.com/wiki/Resize_splits_more_quickly

    아직 학생이신가요? 열공하시고요~
    2015.10.20 14:47
  • 프로필사진 빔빠돌이 빔에서 커맨드에 :se mouse=a
    입력하시면 마우스로 분할창 크기조절이 가능합니다.
    조절후에는 :se mouse=-a
    해주시구요~단축키에 등록해서 사용하시면 편합니당
    2016.01.10 23:05
  • 프로필사진 BlogIcon Yowu 헐.. 완전 문화충격입니다 2016.02.03 00:46 신고
댓글쓰기 폼