설치할수 있는 vim종류가 여러가지 있지만, 이리저리 설치해본 결과로
vim-gnome 패키지를 설치하는게 가장 이상없이 잘 동작하였다.
패키지마다 어떠한 차이가 있는지는 모르겠지만
아마도 내부는 거의 비슷하지 않을까 생각된다. Fedora core 5 의 경우 설치 디스크에 rpm 패키지로 들어있다.
그리고 기본으로 들어있는 컬러 스킴 외에 다른 스킨을 써 보고 싶다면, 여기에서 찾아보기 바란다. vim 홈페이지의 컬러 스킴 목록으로 연결된다.
추천하는 다운로드는 Colors Sampler Pack이다. 많이 쓰이는 컬러 스킴을
모아놓은 배포판 스타일의 스킴인데, 설치하면 gvim 메뉴에 Theme라는 스킴
관리 메뉴가 따로 생겨서 사용하기 쉽다.
원래 소스는 다른데서 업어와서
내 필요와 기호에 따라 이리저리 선택하고 설정해서 쓰는 파일이다.
실제로 내가 안 쓰는 옵션도 있지만 주석으로 막혀있고,
그것들도 언젠가 필요할때가 올 것이다.
set nocompatible " source $VIMRUNTIME/vimrc_example.vim
" set nu syntax on filetype on
"set tabstop=2 set shiftwidth=2 set softtabstop=2 set backspace=indent set expandtab
au BufNewFile,BufReadPost Makefile set sw=4 sts=0 noexpandtab au BufNewFile,BufReadPost *.py set ts=4 sw=4 sts=0 noexpandtab
set nowrap "set cinoptions=>s:0=s(0W0g0hsi2s set cindent set ignorecase set smartcase set nohlsearch set incsearch
colo pablo "colo koehler "colo elflord "colo torteiocharset=utf8 "colo delek
"colo billw "colo darkblack "colo dante "colo sean
"set bg=dark " set backupdir=~/.vim.backup " set tw=72 " set fileencodings=utf8 "set csprg=/usr/bin/cscope " set path=.,~/ " set path=.,~/data,~/data/ani " lang ko_KR
" let g:winManagerWindowLayout = 'TodoList,FileExplorer|BufExplorer'
" runtime ftplugin/man.vim
" if has("cscope") " set csprg=/usr/bin/cscope " set csto=0 " set cst " set nocsverb " add any database in current directory " if filereadable(".cscope.out") " cs add .cscope.out " else add database pointed to by environment " elseif $CSCOPE_DB != "" " cs add $CSCOPE_DB " endif " set csverb " endif
치환 명령의 구간 설정에서 (다른 명령의 구간도 마찬가지..)
.은 현재위치를,
$은 마지막,
%는 전체를 의미한다.
구간을 지정하는 기호는 ,이다.
:%s/어쩌구/저쩌구/ -> 파일 전체에 대해서 '어쩌구'를 '저쩌구'로 바꾼다.
:.,$s/어쩌구/저쩌구/ -> 현재위치부터 마지막까지 '어쩌구'를 '저쩌구'로 바꾼다.
여러개의 파일을 열었을때 현재 작업 디렉토리와 파일의 작업 디렉토리가 다른경우 불편할때가 있다. (make, 다른 파일을 열때 등등..)
이럴때 사용하는 명령이다. 현재 열린 파일의 디렉토리로 경로를 옮겨준다.
:cd %:p:h
cw, s, r등의 명령을 이용해서 수정한 후 문서의 다른 부분에서 똑같이 수정하려고 할때 . 명령을 사용한다.
바꾸고자 하는 글자 위로 이동한후 .을 누르면 아까와 똑같이 바뀐다.
일반 텍스트(프로그램 소스가 아닌..)를 vi로 편집할때
한 줄이 길어지면 화면에서는 다음줄로 바뀌어서 보이지만,
커서를 이동시키면 화면에 보이는 줄이 아닌 엔터키가 입력된 줄 단위로 커서가 움직인다.
즉, 화면에서는 10줄로 보이지만 vi가 인식하는 줄은 한줄인 경우 커서를 이동하면 10줄을 한번에 건너뛴다.
이때 g를 사용하여 화면에서 보이는 줄 단위로 움직일 수 있다. (단 명령모드에서만..)
gj -> 화면에 보이는 한줄 아래로 커서를 옮긴다.
gk -> 화면상의 한줄 위로 커서를 옮긴다.