[Vim/.vimrc] Vim 세팅하기
아이패드로 코딩하기
현재 깃허브 레포지터리에 가장 간단하고 빠르게 세팅하는 법을 설명해 두었다. 아래의 내용들을 요약한 버전의 README가 있다.
컴퓨터 없이 코딩하려면 웹 IDE를 이용하거나 홈서버를 ssh로 연결하여 사용해야 한다. 나의 경우 github 학교인증으로 pro 혜택을 받아 terminus라는 앱의 pro버전을 사용하고 있다. 그런데 왠만하면 IDE들 보다는 ssh로 연결하여 vim으로 문서작성하는 것을 추천하는데 그 이유는
Ubuntu Server 등 서버 os는 GUI가 없기 때문에 리눅스를 사용하려면 CLI에 익숙해져야 하고
GUI지원하는 IDE 앱이 아이패드에 없으며
무엇보다 가장 중요한 것은 멋있기 때문이다.
홈서버는 라즈베리파이 3B+이고 ssh연결방법은 생략하겠다. 설정이 끝나면 대충 아래와 같은 화면으로 코딩할 수 있다.
vim 간단 사용법
vim <file>
하고
i를 누르면 insert 모드 v를 누르면 visual 모드가 된다. esc는 현재 모드를 끄는 것. insert모드에서 파일을 수정하고 visual모드에서 화살표키로 드래그 한 뒤 y누르면 복사 esc하고 붙이고 싶은 위치에 이동한 뒤 p를 누르면 붙여넣기이다.
:sp <file>
이 수평 화면분할
:vsp <file>
이 수직 화면분할이다.
ctrl+ww가 분할화면간의 이동이다.
vim 세팅
vim세팅은 루트폴더에 .vim/이라는 폴더와 .vimrc라는 파일을 만들어 사용한다. 플러그인을 이용하면 웬만한 IDE들 못지않게 이용할 수 이이다. 심지어 디버깅도 가능하다.
vundle
플러그인을 알아서 설치해 주는 툴이다. 물론, 각 플러그인의 github사이트에 들어가 vundle을 지원하는지 선행적으로 다운받아야 할 파일은 없는지 확인해야 한다. 설치 방법은 다음과 같다.
$ cd
$ mkdir .vim/
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
jellybeans.vim
플러그인 중 미리 설치해야할 파일들이 조금 이ㅆ다. 그 중 jellybeans는 컬러테마인데 선행적으로 설치해야 하는 파일의 설치방법은 다음과 같다.
$ mkdir -p ~/.vim/colors
$ cd ~/.vim/colors
$ curl -O https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim
Tagbar
작성하던 파일의 tag를 분할화면으로 표시해주는 툴이다. 가령 cpp의 경우 클래스, 함수, 매서드 등을 보여주고 해당 tag로 바로갈 수 있다.
vim 사용 중에 :Tagbar
하면 된다.
ctags라는 것에 종속적이라 ctags를 설치해 주어야 한다.
$ sudo apt install universal-ctags
나머지 플러그인
나머지 플러그인들은 vundle에서 지원해주는 툴이라서 .vimrc 파일안에 문구만 추가하면 된다.
다음은 .vimrc 전문이다. $ cd
후 $vim .vimrc
하여 파일을 생성하고 아래내용을 붙여넣기하면 된다.
.vimrc 전문(클릭)
set hlsearch
set nu
set autoindent
set cindent
set ts=4
set sts=4
set shiftwidth=4
set showmatch
set smartcase
set smarttab
set smartindent
set ruler
set fileencodings=utf8,euc-kr
set shell=/bin/bash
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'nanotech/jellybeans.vim'
Plugin 'majutsushi/tagbar'
Plugin 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin' " nerdtree installation
Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'airblade/vim-gitgutter' " vim with git status(added, modified, and removed lines)
Plugin 'tpope/vim-fugitive' " vim with git command(e.g., Gdiff)
Plugin 'vim-airline/vim-airline' " vim status bar
Plugin 'vim-airline/vim-airline-themes'
Plugin 'blueyed/vim-diminactive'
call vundle#end()
set t_Co=256
" for ctags
map <c-]> g<c-]>
set tags=tags;
" for jellybeans
colorscheme jellybeans
" for taglist
nmap <F8> :Tagbar<CR>
" for indent guide
let g:indentguides_spacechar = '┆'
let g:indentguides_tabchar = '|'
let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_start_level=2
let g:indent_guides_guide_size=1
" for vim-airline
let g:airline#extensions#tabline#enabled = 1 " turn on buffer list
let g:airline_theme='hybrid'
set laststatus=2 " turn on bottom bar
let mapleader = ","
nnoremap <leader>q :bp<CR>
nnoremap <leader>w :bn<CR>
" for blueyed/vim-diminactive
let g:diminactive_enable_focus = 1
syntax enable
filetype indent on
highlight Comment term=bold cterm=bold ctermfg=4
파일 작성이 끝나면
:w
:PluginInstall
해준다. 분할화면으로 플러그인들이 다운되는 것이 보일 것이다.
플러그인 사용법
jellybeans
이건 그냥 컬러테마고 마음에 안들면 vimrc에서 jellybeans 부분을 지우면 된다.
tagbar
vim으로 문서 작성 중, :Tagbar
하면
오른쪽 분할화면으로 클래스나 스트럭쳐들이 뜰텐데, Ctrl + ww로 이동 후, 해당 태그에 커서를 옮기고 enter를 누르면 소스코드의 해당 태그로 자동이동 한다.
NERDTree
해당 문서가 위치한 폴더로부터의 폴더구조를 왼쪽 분할화면으로 보여준다.
자동으로 이동은 안되는 것 같고
:sp <file>
이나 :vsp <file>
으로 다른 파일을 열기 전에 파일이름을 확인한다던가 하는 용도로 쓸 것 같다.
git-indent-guide와 git-gutter
이건 명령어는 따로 없고 indent 라인을 표시해 주거나 git상으로 추가되거나 빠진 sentence 옆에 기호로 표시해주는 플러그인이다.
git-fugitive
git 명령어에서 git 을 G로 바꾸면 그대로 사용할 수 있도록 해주는 플러그인이다. 가령
$ git diff
의 경우 :Gdiff
하면 바로 확인가능하다
git-airline
문서 작성 중 상단을 보면 최근에 연 파일들의 목록이 보여진다.
최근 연 파일들을 순회할 수 있는데,
:bp
는 앞쪽으로 :bn
은 뒤쪽으로 순회할 수 있다.
그 외에도 가장 하단에 파일 이름, 라인, 브랜치 등의 정보를 보여준다. git 플러그인과 연동하면 diff정보도 하단에 표시해준다.
vim-diminactive
화면 분할 중 커서가 있는 화면을 하이라이트하여 현재 작업하고 있는 화면이 어디인지 쉽게 표시해주는 플러그인이다. 하이라이트가 없으면 이상한 화면(Tagbar나 NERTree 등)에서 vim 명령어 쓰고 오류나서 머쓱해지는 상황을 연출할 수 있으니 꼭 필요한 플러그인이다.
끝
댓글남기기