vi 시작 명령어 | 작업설명 |
vi filename | 파일 열기, 작성 |
vi 커서 이동 명령어 | 작업설명 |
h(←) j(↓) k(↑) l(→) | 왼쪽으로 커서 이동 아래로 커서 이동 위로 커서 이동 오른쪽으로 커서 이동 |
w e b Enter Back space Space Bar ^ $ H M L 숫자G | 오른쪽 한 단어의 끝 부분으로 커서 이동 오른쪽 한 단어의 앞 부분으로 커서 이동 왼쪽 한 단어의 앞 부분으로 커서 이동 한 행 아래로 커서 이동 한 문자 왼쪽으로 커서 이동 한 문자 오른쪽으로 커서 이동 행의 맨 왼쪽으로 커서 이동 행의 맨 오른쪽으로 커서 이동 화면의 맨 위로 이동 화면의 중간으로 이동 화면의 맨 아래로 이동 ‘숫자’만큼 지정한 줄로 커서 이동 |
Ctrl + f Ctrl + b Ctrl + d Ctrl + u Ctrl + e Ctrl + y | 한 화면 위로 이동 한 화면 아래로 이동 반 화면 위로 이동 반 화면 아래로 이동 한 줄씩 위로 이동 한 줄씩 아래로 이동 |
문자,행 삽입 명령어 | 작업설명 |
a (종료:ESC) A (종료:ESC) i (종료:ESC) I (종료:ESC) o (종료:ESC) O (종료:ESC) | 커서 오른쪽에 문자 삽입 커서 오른쪽, 행의 끝에 문자 삽입 커서 왼쪽에 문자 삽입 커서 왼쪽, 행의 처음에 문자 삽입 커서 아래에 행 삽입 커서 위에 행 삽입 |
텍스트 변경 명령어 | 작업설명 |
cw (종료:ESC) cc (종료:ESC) C (종료:ESC) s (종료:ESC) S (종료:ESC) r r-Enter J xp ~ u U :u . | 단어 변경 행 변경 커서 오른쪽의 행 변경 커서가 위치한 문자열 대체 커서가 위치한 라인의 문자열 대체 커서 위치 문자를 다른 문자로 대체 행 분리 현재 행과 아래 행 결합 커서 위치 문자와 오른쪽 문자 교환 이전 명령 취소 행 변경 사항 취소 이전의 최종 행 취소 이전 최종 명령 반복 |
텍스트 삭제 명령어 | 작업설명 |
x 5x dw dd 5dd db D :5,10d | 커서가 있는 문자 삭제 커서가 있는 위치부터 5개의 문자를 삭제 현재 커서가 있는 한단어 삭제 커서가 있는 라인 삭제 커서가 있는 라인부터 5개의 라인 삭제 커서의 위치에서 꺼꾸로 한단어 삭제 커서 오른쪽 행 삭제 5-10번째 행 삭제 |
복사 및 이동 명령어 | 작업설명 |
yy Y P p :1,2 co 3 :4,5 m 6 | 행 yank 또는 복사 행 yank 또는 복사 yank되거나 삭제된 행 현재 행 위에 삽입 yank되거나 삭제된 행 현재 행 아래에 삽입 1-2행을 3행 다음으로 복사 4-5행을 6행 위로 이동 |
행 번호 설정 명령어 | 작업설명 |
:set nu :set nonu | 행 번호 표시 행 번호 숨기기 |
행 찾기 명령어 | 작업설명 |
G 21G Ctrl + G | 파일의 마지막 행으로 가기 파일의 21번째 행으로 가기 현재의 filename과 line수를 알려줌 |
탐색 및 대체 명령어 | 작업설명 |
/검색할 문자열/ ?검색할 문자열? n N :g/search-string/s//replace-string/gc :s/str/rep/ :1,.s/str/rep/ :%s/str/rep/g :.$/aaa/bbb/ | 오른쪽 아래 방향으로 문자열 검색 왼쪽 위 방향으로 문자열 검색 문자열의 다음으로 계속 검색 문자열의 이전으로 계속 검색 각 발생 탐색 후 확인하고 대체 현재 행의 str을 rep로 대체 1부터 현재 행의 str을 rep로 대체 파일 전체 str을 rep로 전부 대체 커서에서 화일의 끝까지 있는 모든 aaa를 bbb로 대체 |
화면정리 명령어 | 작업설명 |
Ctrl + l | 불필요한 화면정리 후 다시 표시 |
파일 명령어 | 작업설명 |
:r filename :34 r filename | 커서 다음에 파일 삽입 파일을 34번째 행 다음에 삽입 |
보관 및 종료 명령어 | 작업설명 |
:w :w filename :wq ZZ :q! q e! | 변경사항 보관 버퍼를 파일로 보관 변경사항 보관 후 vi 종료 변경사항 보관 후 vi 종료 변경사항 보관하지 않고 종료 수정한 파일을 저장하지 않고 vi 종료 수정한 것을 무시하고 다시 편집상태로 |
" ============================================================================= " 구식 vi 와 동일하게 작동할 것인가에 대한 옵션이다. 구식 vi와 동일하게 " 작동하도록 설정된다면 많은 편리한 기능을 사용할수 없을 것이다. " ============================================================================= set nocompatible
" ============================================================================= " vimdiff일때 공백을 무시 " ============================================================================= set diffopt+=iwhite
" ============================================================================= " 인코딩에 대한 설정이다. 윈도우와 유닉스가 틀리다. " ============================================================================= if has("unix") set encoding=euc-kr elseif has ("win32") set encoding=cp949 endif " ============================================================================= " 현재 디렉토리에 .vimrc 가 있을 경우 ~/.vimrc 를 읽어 초기화후에 현재 " 디렉토리에 .vimrc를 더불어 읽어 옵션을 다시 설정 한다. " ./.vimrc 를 읽어 들이기 위함 exrc 가 더 나중에 실행 되는 것 같음 " ============================================================================= set exrc au BufNewFile,BufRead *.c,*.h,*.java,*.pc,*.cpp,*.jsp,*.php,*.ph set exrc " exrc 가 안되서 임시 방편 if has("unix") au BufNewFile,BufRead *.c,*.h,*.java,*.pc,*.cpp,*.jsp,*.php,*.ph \ if filereadable(".vimrc") | so .vimrc | endif elseif has("win32") au BufNewFile,BufRead *.c,*.h,*.java,*.cpp,*.jsp,*.php,*.ph \ if filereadable("_vimrc") | so _vimrc | endif endif
" ============================================================================= " 파일에 대한 인코딩을 설정한다. encoding, fileencoding, fileencodings 의 상관 " 관계를 정확히 알지 못하겠다. " ============================================================================= if has("unix") set fileencoding=euc-kr elseif has ("win32") set fileencoding=cp949 endif
" ============================================================================= " 파일의 인코딩을 설정한다. " ============================================================================= "set fileencodings=euc-kr set fileencodings=euc-kr,ucs-bom,utf-8,latin1
" ============================================================================= " 파일 편집시 undo 할수 있는 최대 횟수를 설정한다. " ============================================================================= set history=1000
" ============================================================================= " search 시 찾는 단어를 하이라이팅 해 준다. " ============================================================================= set hlsearch
" ============================================================================= " 찾기, 바꾸기 등에서 대소문자 구분을 하지 않는다. " ============================================================================= set ignorecase
" ============================================================================= " MS 윈도우에서 한영 전환 패치가 되었을때 insert 모드나 command 모드로 들어 " 갈때 영어로 입력 시작하게 한다. 아래는 기본 값이다. " ============================================================================= "set noimdisable "set noimcmdline
" ============================================================================= " search시(/) 영어로 입력이 시작 되게 한다. " ============================================================================= set iminsert=0 set imsearch=0
" ============================================================================= " 줄번호를 보여 준다. " ============================================================================= "set number
" ============================================================================= " >>, << command 시 shift 할 크기를 정해준다 통상 와 동일하게 설정 하면 된다. " ============================================================================= set shiftwidth=4
" ============================================================================= " 닫는 괄호")", 브라켓"}"을 입력시 매칭되는 여는 괄호, 브라켓에 잠시 커서가 " 위치했다가 다시 제자리로 돌아 온다. " ============================================================================= set showmatch
" ============================================================================= " " ============================================================================= set smarttab
" ============================================================================= " " ============================================================================= set smartindent
" ============================================================================= " " ============================================================================= set softtabstop=4
" ============================================================================= " 각 파일의 성격(?)에 맞게 색깔로 보여 준다. " ============================================================================= syntax on if has("terminfo") let &t_Co=8 let &t_Sf="\e[3%p1%dm" let &t_Sb="\e[4%p1%dm" else let &t_Co=8 let &t_Sf="\e[3%dm" let &t_Sb="\e[4%dm" endif
colorscheme desert hi Type term=NONE ctermfg=2 hi PreProc term=NONE ctermfg=10 hi LineNr term=NONE ctermfg=6 hi Constant term=NONE ctermfg=14
" 오라클 proc 설정 au BufNewFile,BufRead *.pc so /u3204/app/credt/batch/src/kcb/proc.vim
set path=.,../include,/u3204/app/common/include,/usr/include,,
" " ============================================================================= " 탭으로 사용할 크기를 정한다. tabstop 를 4로 둘경우 기존의 많은 소스들의 " indentation 이 깨어 지기 때문에 tabstop는 8로 놓고 shiftwidth을 4로 놓으면 " 보는 소스는 tabstop를 8로 볼수 있고 직접 작성하는 소스에 indentation을 4로 " 맞출수가 있다. 요즘은 tabstop이 4로 가는 추세이다. " ============================================================================= set tabstop=4
" ============================================================================= " search 시 파일의 맨끝까지 다 찾고 난뒤 다시 파일의 처음으로 돌아가서 찾을수 " 있게 해주는 것이다. 기본값은 on 이다. " ============================================================================= set nowrapscan
" ============================================================================= " 색깔 설정 " 윈도우의 경우는 MS, MSB라는 새로운 두가지 색깔을 정의 해서 사용한다. " ============================================================================= if has("unix") hi Folded ctermbg=Brown ctermfg=Black hi FoldColumn ctermfg=DarkBlue ctermbg=NONE hi LineNr ctermfg=White hi DiffAdd term=bold ctermbg=Brown "" bold off hi NonText cterm=NONE hi ErrorMsg cterm=NONE hi ModeMsg cterm=NONE hi StatusLine term=REVERSE cterm=NONE ctermfg=3 ctermbg=black hi VisualNOS term=NONE cterm=NONE hi DiffDelete term=NONE cterm=NONE hi DiffText cterm=NONE hi Error cterm=NONE
hi Comment ctermbg=NONE ctermfg=darkgreen hi Constant ctermfg=darkyellow hi Statement ctermbg=NONE ctermfg=brown hi PreProc ctermbg=NONE ctermfg=red hi type ctermbg=NONE ctermfg=brown hi special ctermbg=NONE ctermfg=magenta
elseif has ("win32") " MS 윈도우 버튼 기본 색깔인 회색으로 지정 "212 208 200 MS #D4D0C8 "199 199 199 MSB #C7C7C7 "hi Normal guibg=#D4D0C8 guifg=Black "hi NonText guibg=#C7C7C7 guifg=Black gui=NONE "hi Visual guibg=Black guifg=grey69 "hi LineNr guibg=#C7C7C7 guifg=Blue "hi Folded guibg=DarkYellow guifg=Black "hi FoldColumn guibg=#C7C7C7 guifg=Blue "hi StatusLine guibg=Yellow guifg=black gui=reverse "hi Cursor guibg=Black guifg=white "hi CursorIM guibg=Purple guifg=Black """ bold off "hi MoreMsg gui=NONE "hi ModeMsg gui=NONE "hi Question gui=NONE "hi Title gui=NONE "hi VisualNOS gui=NONE "hi DiffText gui=NONE "hi DiffDelete gui=NONE "hi Statement gui=NONE "hi Type gui=NONE endif |
□ VI 기본
- 명령모드, 확장모드(:), 입력모드
- 설정파일 .exrc (사용자 홈디렉토리에 생성하면 됨.)
- 설정 내용 보기 vi의 확장 모드에서 set all
'Linux > 기타' 카테고리의 다른 글
centos 6 에 oracle 10g 10.2.0.1 설치 및 10.2.0.5 patch 작업 - 3 (1) | 2017.06.14 |
---|---|
centos 6 에 oracle 10g 10.2.0.1 설치 및 10.2.0.5 patch 작업 - 2 (0) | 2017.06.13 |
centos 6 에 oracle 10g 10.2.0.1 설치 및 10.2.0.5 patch 작업 - 1 (2) | 2017.06.13 |