본문 바로가기

Linux

VI 사용 간략 정리

  1. 문자대치명령
    • s/.*/(&)/ : ()을 추가하고 라인 전체에 다시 한다.
    • s/.*/mv & &.old/ : 단어들은 mv 명령어로 변경한다.
    • /^$/d : 빈 칸을 지운다.
    • :s/[0-9]/Item &:/ : 현재 라인에서 숫자를 item 라벨로 변경
    •  :s : 첫번째 나타난 곳에서 치환을 반복한다.
    • :& : 윗 라인과 동일
    • :sg : 모든 라인에 대해서 윗 라인과 동일 의미
    • :&g : 윗 라인과 동일 :%&g : 전체적인 치환을 반복한다.
    • :.,$s/Fortran/\U&/g : 현재부터 마지막 라인까지 Fortran 단어를 대문자로 변환
    • :%s/.*/\L& : 전체 파일을 소문자로 변환한다.
    •  :s/\<./\u&/g : 현재라인에 있는 각각 단어 첫문자를 대문자로 변경
    • :%s/YES/NO/g : 전체적으로 YES를 NO로 변경
    • s/die or do/ do or die : 단어를 바꾸어 놓는다.
    Visual Block 지정
    • v : 글자 단위로 블럭지정
    • shift + v : 라인단위 블럭
    • ctrl + v : 블럭단위 지정
    • y : 지정 블럭 복사
    • p : 지정 블럭 붙여넣기
    • d : 지정 블럭 삭제
  2. 파일 네비게이션 바 만들기
    • :20vs ./
  3. 폴더 기능(접기)
    • vim 6.0 에 새로이 포함된 좋은 기능으로 코드의 특정영역을 접을수 있다. 그럼으로 코드를 분석할때 쓸데 없는 부분을 감춰줘서 좀더 편하게 분석이 가능합니다. visual block 를 이용해서 원하는 영역을 선택한다음 :zf 를 이용하면 해당영역이 접힌다. :zo 를 사용하면 접힌영영을 원상태로 복구할수 있고 :zc 를 사용하면 해당영역을 다시 접을수 있다. 또한 다중 접기를 허용해서 접근구역을 다시 접을수도 있다.

  4. 빠른 괄호 이동

    • C나 C++ 을 사용하다보면 제어문이나 함수에서 많은 괄호('{','(')를 만나게 된다. 이때 괄호의 제일 마지막으로 이동하고 싶을때가 있을것이다. 이럴때는 ']}' 를 사용하면 된다. '[{' 를 사용하면 괄호의 처음으로 이동한다.

  5. 메뉴바, 툴바 보이지 않는 방법

    • 툴바를 사라지게 하는방법 :set guioptions-=T 메뉴바 사라지게 하는 법 :set guioptions-=m 다시 보이게 하려면 :set guioptions+=T :set guioptions+=m 입니다.

    • 메뉴바와 툴바를 동시에 사라지게 하는 방법 set guioptions=Mt 메뉴바와 툴바를 동시에 나타나게 하는 방법 set guioptions=mT 이 있더군요...

vi _vimrc 파일예제

set nocompatible
set title
set autoindent          
set bs=2                
set viminfo='20,\"50    
set ruler               
set number
set background=light
set shiftwidth=4
set tabstop=4
set incsearch
set et
set vb
set mouse=n
set showmatch
set history=100
set fencs=utf-8,euc-kr
set guioptions-=m
colorscheme darkblue
colorscheme torte
syntax on

set lines=40
set columns=110

map <F8> :!Z:\build<CR>
map <F11> $v%zf
map <F12> zo
"클립보드 복사 , 붙여넣기
map <C-c> "+y
map <C-v> "+P

"폰트
set guifont=돋움:h9
" 현재 라인 하이라이트
highlight CurrentLine guibg=yellow guifg=black ctermbg=yellow ctermfg=black 
au! Cursorhold * exe 'match CurrentLine /\%' . line('.') . 'l.*/' 
set ut=10

"검색어 강조기능
set hls

" 마지막 편집 위치 복원 기능
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\   exe "norm g`\"" |
\ endif

vi _vimrc 파일예제 2

source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

" 개인 설정을 적용한다.
set nocompatible
set ts=4
set expandtab 
set sw=4
set nu
set nobackup
set noswapfile
set guifont=Tahoma:h10:cHANGEUL
set guioptions=gmrLtT
set guioptions-=LtT
set fencs=utf-8,euc-kr

set lines=40
set columns=110

"set guifontset=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1,-baekmuk-batang-medium-r-normal-*-*-160-*-*-m-*-ksx1001.1997-0
"set guifontset=-schumacher-clean-medium-r-normal-*-*-160-*-*-c-*-iso646.1991-irv,-baekmuk-batang-medium-r-normal-*-*-160-*-*-m-*-ksx1001.1997-0
set guifontset=*-clean-medium-r-normal--16-160-*-c-80-iso8859-1,-*-kodig-medium-r-*-16-* "mid Big
"set guifontset=*-fixed-medium-r-normal--20-200-*-c-100-iso8859-1,-*-kodig-medium-r-*-20-* "Big

colorscheme desert
"colorscheme bog

"source C:/Backup/Software/_vimrc-linecomment

map <C-F9> $v%zf

map <C-F8> Odrop table   cascade constraints;
map <C-F7> veyOdrop table <ESC>pocascade constraints;

syntax on

'Linux' 카테고리의 다른 글

VIM 펑션키 맵핑  (0) 2011.04.24
SSL서비스 구축 및 OpenSSL  (0) 2011.04.14
objdump  (0) 2011.02.16
xargs  (0) 2011.01.20
Linux find 명령어 완전 정복 가이드  (1) 2011.01.10