명령어
h: 좌 이동
l : 우 이동
j : 위 이동
k : 아래 이동
$ : 줄 끝으로
^ : 줄 처음으로(빈칸무시)
0 : 줄 처음으로
w : 다음 단어 처음으로 이동
b : 이전 단어 처음으로 이동
e : 단어 끝으로 이동
% : 짝을 이루는 기호 블럭이동 <>(){}[]
(,),{,},[[,]],[{,]}, ctr+[, ctr+] : 블럭이동
gg : 문장 처음으로 이동
G : 문장 마지막 으로 이동
nG=ngg : n번째행으로 이동
화면상단 : H
화면중앙 : M
하면하단 : L
페이지 up : ctr+b (backward)
페이지 1/2 up : ctr+u (up)
페이지 1/2 down : ctr+d (down)
페이지 down : ctr+f (forward)
z
z. : 현재행을 중앙으로
z- : 현재행을 하단으로
a : 오른쪽에 문자 삽입
A : 행 끝에 문자 삽입
i : 왼쪽에 문자 삽입
I : 행의 처음에 문자 삽입
o : 다음 라인에 문자 삽입
O : 윗 라인에 문자 삽입
r : n 개의 문자를 원하는 문자로 수정
R : 끼워넣기 모드가 아닌 수정 모드로 변환
x : 오른쪽 n개 지움
X : 왼쪽 n개 지움
s : n개의 문자를 삭제후 입력 모드로
S : n개의 라인 삭제후 입력 모드로
c : 문자 바꾸기 (s 의 다른 점은 w,b,$,^ 등과 같이 사용 가능)
cc=S : 줄 바꾸기
C : 커서 이후 한줄 바꾸기
y
Y=yy : n 라인 복사
d
d$ = D : 현재줄에서 커서 이후 모두 삭제
d^ : 현재줄에서 커서 앞 모두 삭제
dd : 현재줄 삭제
D : 현재줄에서 커서 이후 모두 삭제
p : 커서 뒤에 버퍼값 붙여넣음
P : 커서 앞에 버퍼값 붙여넣음
v : 커서 선택모드
V : 라인 선택모드
(x : 선택부분 짤라냄, y : 선태부분 복사, = : 선태부분 정렬)
? : 위로 찾을 문자 입력
/ : 아래로 찾을 문자 입력
* : 커서가 있는 단어 찾기 및 아래로 찾기
n : 아래로 찾기
N : 위로 찾기
undo : u
redo : ctr-r
== : 현재줄 자동정렬
~ : 대소문자 토글
<< : 윈도우의 shift+tab 과 같은기능
>> : 윈도우의 tab 키와 같은기능
J : 라인 연결
. : 최근 명령 반복
& : 최근의 ex 교체 명령 반복
m<0-9,a-z,A-Z> : 해당 라인을 마킹한다.
'<0-9,a-z,A-Z> : 마킹한 라인으로 이동.
`<0-9,a-z,A-Z> : 마킹한 라인 첫번째 문자로 이동
q<0-9,a-z,A-Z> : 레코딩시작
q : 레코딩 끝
@<0-9,a-z,A-Z> : 레코딩 적용
@@ : 이전 레코딩 적용
n@@ : n번 레코딩 적용
- ex 명령어
vi 에서 사용하는 ex 명령어는 이전 ex 편집기에서 지원하던 기능들입니다. ex 모드(콜론 모드) 에서 사용하는 명령어는 열기(open), 저장(save) 다른 이름으로 저장(save as) 등의 명령을 수행합니다.
:1,$s/문자열1/문자열2/g : 문자열1 을 문자열2 로 변환
:s/문자열1/문자열2 : 현재 라인에 문자열 변환
:w - 저장
:q - 종료
:wq - 저장후 종료
:w! - 강제 저장(read-only 에서)
:q! - 저장안하고 종료
:r file_name : 현재 위치에 file_name 읽어 들이기
:w file_name - 새이름으로 저장
:w %.new - 현재 파일명에 .new 를 붙여서 새로 저장
:200,$ w file-name : 200 줄 부터 끝까지 새 이름 저장
:.,600 w file-name : 현재줄부터 600줄까지 새 이름 저장
:1,10 w file_name : 1줄 부터 10줄 까지 새 이름 저장
:340,$ w >> file_name : 340 줄 부터 끝까지 file_name 에 추가 하기
- 정규 표현식
? : 한글자를 대표 하는 기호
* : 여러개의 문자를 동시에 대표 하는 기호
^ : 줄의 처음
$ : 줄의 맨끝
% : 처음줄 부터 끝줄 까지
\ : 특수한 의미의 기호 무시 (\$ 는 끝줄이 아닌 그냥 $ 를 의미)
< : 단어의 시작
> : 단어의 끝
[^] : 묶어진 문자를 제외한 아무것이나 대응함
[A-Z] : A,B,C,D ... X,Y,Z 를 의미함
[a-z] : a,b,c,d ... x,y,x 를 의미함
[0-9] : 1,2,3,4,5,6,7,8,9,0 를 의미
[A-Z,a-z,0-9] :
[AB] : A or B
p[aeiou]t : pat,pet,pit, pot, put 를 의미함
----------------------------------------------------------------------------------------
set nocompatible " vim 확장기능 사용함
set autoindent " 자동으로 들여쓰기를 한다.
set cindent " C 프로그래밍을 할때 자동으로 들여쓰기를 한다.
set smartindent " 좀더 똑똑한 들여쓰기를 위한 옵션이다.
set textwidth=79 " 만약 79번째 글자를 넘어가면 자동으로
set nowrapscan " 검색할 때 문서의 끝에서 다시 처음으로 돌아가지 않는다.
set nobackup " 백업 파일을 만들지 않는다.
set noswapfile " swap 파일을 만들지 않는다.
set visualbell " 키를 잘못눌렀을 때 삑 소리를 내는 대신 번쩍이게 한다.
set ruler " 화면 우측 하단에 현재 커서의 위치(줄,칸)를 보여준다.
set tabstop=4 " Tab을 눌렀을 때 8칸 대신 4칸 이동하도록 한다.
set shiftwidth=4 " 자동 들여쓰기를 할때 4칸 들여쓰도록 한다.
set guifont=돋움체:h10:cHANGEUL " 화면 폰트를 설정한다.
set guioptions=gmrLtT " 화면 설정을 한다.
set guioptions-=LtT " 화면에서 툴바를 뺀다.
set number
set showmatch " <>{}[]() 등을 알려준다.
set paste " 붙여넣기시 계단현상 방지
set nojoinspaces " J 명령어로 줄을 붙일때 마침표뒤 한칸만 뜀
set ignorecase " 찾기시 대소문자 구별안함
" 문서를 읽을 때 BOM 을 자동으로 제거하려면, fencs 맨 앞에 ucs-bom 를 추가하세요.
set enc=utf-8 " 화면에 보여주는 encoding 방식
set tenc=utf-8 " 터미널에서 보여주는 encoding 방식
set fenc=utf-8 " 수정하려는 파일의 encoding 방식
set fencs=utf-8,cp949,cp932,euc-kr,euc-jp,shift-jis,big5,latin1,ucs-2le
----------------------------------------------------------------------------------------
" Proc syntex 적용
1. 첨부 파일 proc.vim 을 $VIMRUNTIME/syntex/ 밑에 넣는다.
주의 : 파일이름이 반드시 proc.vim 이어야 한다.
2. gvim.exe 가 있는 폴더에서 filetype.vim 을 열어 다음을 추가한다.
au BufNewFile,BufRead *.pc setf proc
참고 : gvim 7.0 의 경우
au BufNewFile,BufRead .pc setf proc 와 같이 이미 들어 있으므로 .pc 를 *.pc 로 수정만 하면 된다.
" 실행중 파일형식을 적용할때
setfiletype proc " Pro*C 타입을 적용한다.
참고 사이트 : http://www.vim.org/scripts/script.php?script_id=655
----------------------------------------------------------------------------------------
1. vi의 시작
명령어 |
작업 설명 |
vi filename |
파일 열기, 작성 |
vi +18 filename |
18행으로 파일 열기 |
vi +/"string" fn |
"string"의 처음발생 단어부터 열기 |
vi -r filename |
손상된 파일 회복 |
view filename |
읽기 전용으로 파일 열기 |
2. 커서의 이동 명령
명 령 어 |
작 업 설 명 |
h(←) |
왼쪽으로 커서 이동 |
w |
한 단어 오른쪽으로 커서 이동 |
^ |
라인의 처음으로 이동 |
H |
화면의 맨 위로 이동 |
Ctrl+F |
한 화면 뒤로 이동 |
3. 문자와 행삽입
명 령 어 |
작 업 설 명 |
a |
커서 오른쪽에 문자 삽입 |
A |
커서 오른쪽, 행의 끝에 문자 삽입 |
i |
커서 왼쪽에 문자 삽입 |
I |
커서 왼쪽, 해의 처음에 문자 삽입 |
o |
커서 아래에 행 삽입 |
O |
커서 위에 행 삽입 |
|
작업 종료후 |
4. 텍스트 변경
명 령 어 |
작 업 설 명 |
cw (종료 :ESC) |
단어 변경 |
R (종료 :ESC) |
현재 커서 위치부터 대체 |
r |
커서 위치 문자를 다른 문자로 대체 |
~ |
문자형(대, 소문자)변경 |
J |
현재 행과 아래 행 결합 |
u |
이전 명령 취소 |
5. 텍스트 삭제
명령어 |
작 업 설 명 |
x |
문자 삭제 |
dw |
단어 삭제 |
dd |
행 삭제 |
D |
커서 오른쪽 행 삭제 |
;5, 10 d |
5-10번째 삭제 |
6. 텍스트 복사 및 이동
명 령 어 |
작 업 설 명 |
yy |
행 yank |
Y |
행 yank |
p |
yank되거나 삭제된 행 현재 행 아래에 삽입 |
P |
yank되거나 삭제된 행 현재 행 위에 삽입 |
:1,2 co 3 |
1-2행을 3행 다음으로 복사 |
:4,5 m 6 |
4-5행을 6행 다음으로 이동 |
7. 행 번호 설정
명 령 어 |
작 업 설 명 |
:set nu |
행 번호 표시 |
:set nonu |
행 번호 숨기기 |
8. 행 찾기
명 령 어 |
작 업 설 명 |
G |
파일의 마지막 행으로 가기 |
21G |
파일의 21번째 행으로 가기 |
:n |
n 라인으로 가기 |
9. 탐색 및 대체
명 령 어 |
> 작 업 설 명 |
/string |
> string 탐색 |
?string? |
> string 역방향 탐색 |
n |
> string의 다음(이전) 계속 탐색 |
:g/search-string/s// replace-string/gc |
각 발생 탐색 후 확인하고 대체 |
:s/str/rep/ |
> 현재 행의 str을 rep로 대체 |
:1,.s/str/rep/ |
> 1부터 현재 행의 str을 rep로 대체 |
:%s/str/rep/g |
> 파일 전체 str을 rep로 전부 대체 |
10. 파일을 파일로 삽입
'php관련' 카테고리의 다른 글
핸드폰 살땐 호갱닷컴!! (0) | 2011.12.20 |
---|---|
리눅스 파일 찾기 모음 (0) | 2011.11.22 |
특정파일(디렉토리) 제외하고 압축하기 (0) | 2011.11.22 |
정규식을 이용한 검색 regexp (0) | 2011.11.21 |
css min-height IE6 적용 방법 (0) | 2011.11.18 |