어쩌라구..?? ㅡㅡa..

Posted
Filed under Linux/vi
ubuntu의 경우 다음의 명령으로 설치한다.
sudo apt-get install vim-gnome

설치할수 있는 vim종류가 여러가지 있지만, 이리저리 설치해본 결과로
vim-gnome 패키지를 설치하는게 가장 이상없이 잘 동작하였다.

패키지마다 어떠한 차이가 있는지는 모르겠지만
아마도 내부는 거의 비슷하지 않을까 생각된다.

Fedora core 5 의 경우 설치 디스크에 rpm 패키지로 들어있다.



그리고 기본으로 들어있는 컬러 스킴 외에 다른 스킨을 써 보고 싶다면,
여기에서 찾아보기 바란다. vim 홈페이지의 컬러 스킴 목록으로 연결된다.
추천하는 다운로드는 Colors Sampler Pack이다. 많이 쓰이는 컬러 스킴을
모아놓은 배포판 스타일의 스킴인데, 설치하면 gvim 메뉴에 Theme라는 스킴
관리 메뉴가 따로 생겨서 사용하기 쉽다.
2006/06/04 14:26 2006/06/04 14:26
Posted
Filed under Linux/vi
원래 소스는 다른데서 업어와서
내 필요와 기호에 따라 이리저리 선택하고 설정해서 쓰는 파일이다.

실제로 내가 안 쓰는 옵션도 있지만 주석으로 막혀있고,
그것들도 언젠가 필요할때가 올 것이다.

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

"set tags+=./.tags
"set tags+=/usr/include/GL/tags
"set tags+=/usr/src/linux-source-2.6.15/tags
"/usr/include/linux/tags


" ctags commands
if version >= 500

func! Sts()
     let st = expand("<cword>")
     exe "sts ".st
endfunc
nmap ,st :call Sts()<CR>

func! Tj()
     let st = expand("<cword>")
     exe "tj ".st
endfunc
nmap ,tj :call Tj()<CR>

endif


" Java commands
func! Jc()
     let jc = expand("%")
     exe "!javac ".jc
endfunc
nmap ,jc :call Jc()<CR>

func! Jr()
     let jr = expand("%:r")
     exe "!java ".jr
endfunc
nmap ,jr :call Jr()<CR>



nmap ,b1 :b!1<CR>
nmap ,b2 :b!2<CR>
nmap ,b3 :b!3<CR>
nmap ,b4 :b!4<CR>
nmap ,b5 :b!5<CR>
nmap ,b6 :b!6<CR>
nmap ,b7 :b!7<CR>
nmap ,b8 :b!8<CR>
nmap ,b9 :b!9<CR>
nmap ,bn :bn!<CR>
nmap ,bp :bp!<CR>

map ,n :cn<CR>
map ,p :cp<CR>
map ,l :cl<CR>
map ,w :cw<CR>

map ,ma :w<CR>:make<CR>

"set gfn=curier\ 10
set gfn=Bitstream\ Vera\ Sans\ Mono\ 10
set nohls
set nobackup
set noswapfile


2009년 9월 21일 수정
2006/02/23 17:37 2006/02/23 17:37
Posted
Filed under Linux/vi
치환 명령의 구간 설정에서 (다른 명령의 구간도 마찬가지..)
.은 현재위치를,
$은 마지막,
%는 전체를 의미한다.
구간을 지정하는 기호는 ,이다.

:%s/어쩌구/저쩌구/ -> 파일 전체에 대해서 '어쩌구'를 '저쩌구'로 바꾼다.
:.,$s/어쩌구/저쩌구/ -> 현재위치부터 마지막까지 '어쩌구'를 '저쩌구'로 바꾼다.



여러개의 파일을 열었을때 현재 작업 디렉토리와 파일의 작업 디렉토리가 다른경우 불편할때가 있다. (make, 다른 파일을 열때 등등..)
이럴때 사용하는 명령이다. 현재 열린 파일의 디렉토리로 경로를 옮겨준다.

:cd %:p:h



cw, s, r등의 명령을 이용해서 수정한 후 문서의 다른 부분에서 똑같이 수정하려고 할때 . 명령을 사용한다.
바꾸고자 하는 글자 위로 이동한후 .을 누르면 아까와 똑같이 바뀐다.



일반 텍스트(프로그램 소스가 아닌..)를 vi로 편집할때
한 줄이 길어지면 화면에서는 다음줄로 바뀌어서 보이지만,
커서를 이동시키면 화면에 보이는 줄이 아닌 엔터키가 입력된 줄 단위로 커서가 움직인다.
즉, 화면에서는 10줄로 보이지만 vi가 인식하는 줄은 한줄인 경우 커서를 이동하면 10줄을 한번에 건너뛴다.
이때 g를 사용하여 화면에서 보이는 줄 단위로 움직일 수 있다. (단 명령모드에서만..)

gj   -> 화면에 보이는 한줄 아래로 커서를 옮긴다.
gk  -> 화면상의 한줄 위로 커서를 옮긴다.
2006/02/15 09:10 2006/02/15 09:10