우분투

VI 에디터 사용법

dosa74 2012. 4. 7. 17:45

 


이동명령
글자 h ,j ,k ,l ←↓↑→
문장 w, W, b, B 단어 단위로 앞, 뒤로 이동

소문자는 구두점도 하나의 단어로 인식하며, 대문자는 구두 점을 무시한다.
e, E 단어의 끝
), ( 다음, 이전 문장의 시작
}, { 다음, 이전 구의 시작
]], [[ 다음, 이전 절의 시작
0, $ 현재 행의 처음, 마지막 위치
^ 현재행의 첫 문자(공백은 무시)
+, - 다음, 이전 행의 첫 문자
n| 현재행의 n번째 열
H 화면의 첫 행
M 화면의 중간 행
L 화면의 마지막 행
nH 화면 첫행에서 아래로 n번째 행
nL 화면 마지막 행에서 위로 n번째 행
화면 CTRL-F, CTRL-B 한화면 앞, 뒤로
CTRL-D, CTRL-U 반화면 아래, 위로
CTRL-E, CTRL-Y 화면 전체를 한행 위, 아래로
z[RETURN] 깜박이가 있는 행을 화면 첫행으로
z. 깜박이가 있는 행을 가운데 행으로
z- 깜박이가 있는 행을 가운데 행으로
검색 /pattern 앞 방향으로 패턴을 검색
?pattern 뒷 방향으로 패턴을 검색
n, N 동일, 반대 방향으로 마직막 검색을 반복
/, ? 앞, 뒤로 이전 검색을 반복
fx 현재 행에서 글자 x를 앞방향으로 검색
Fx 현재 행에서 글자 x를 뒷방향으로 검색
tx 현재 행에서 글자 x를 앞방향으로 검색한후, 글자 x 전 글자로 이동
Tx 현재 행에서 글자 x를 뒷방향으로 검색한후, 글자 x 뒷 글자로 이동
; 이전 현재 행 검색을 반복
' 이전 현재 행 검색을 반대 방향으로 반복
행 번호 CTRL-G 현재의 행 번호를 출력
nG n 번째 행으로 이동
G 파일의 마지막 행으로 이동
`` G 명령 전의 마지막 위치로 이동(두개의 작은 역 따옴표)
:n n 번째 행으로 이동
편집명령
삽입 i, a 깜박이 앞, 뒤에 문장 삽입
I, A 행의 시작, 끝에 문장 삽입
o, O 깜빡이 아래, 윗 줄에 새로운 행 편집
R 글자 덥어쓰기
변경 r 한글자 변경
~ 대 소문자 변경(다른 명령, 숫자와 결합할 수 없음)
cw 한 단어 변경
cw 한 단어 변경
cc 현재 행 변경
C 깜박이 위치에서 행 끝까지 변경
s 한 글자를 삭제하고 문장으로 대치
S 현재 행을 삭제하고 문장으로 대치
삭제, 이동 x 한글자 삭제
X 깜박이 앞의 한글자 삭제
dw, de 한 단어 삭제(단어 다음의 공백 포함), 한 단어만 삭제
dd 현재행 삭제
D 깜박이 위치에서 행 끝까지 삭제
p, P 깜박이 아래, 윗 줄에 삭제한 문장 붙이기
"np 삭제 버퍼로 부터 n 번째 행을 깜박이 아래줄에 붙이기(마지막 9개의 삭제행에 대해)
복사 yw 한단어 복사
yy 현재행 복사
"ayy 현재행을 a라는 버퍼에 복사
p, P 깜박이 아래, 윗 줄에 복사된 문장을 붙임
"aP 버퍼 a의 문장을 깜박이 윗줄(p, 아래 줄)에 붙임
ex 편집명령 :d 행 삭제
:m 행 이동
:co 행 복사
:.,$d 현재 행에서 파일 끝까지 삭제
:30, 60m 현재행 다음 줄에 30행부터 60행까지를 이동
.,/pattern/co$ 현재행 부터 pattern을 포함하는 항까지를 파일 끝으로 복사
명령행 옵션
명령행 vi file file를 vi 편집기로 호출
vi file1 file2 파일들을 연속적으로 vi 편집기로 호출
view file 파일을 읽기 모드로 vi 편집기로 호출
vi -R file 파일을 읽기 모드로 vi 편집기로 호출
vi -r file 시스템이 크래쉬된 후, 파일과 최근 편집 사항을 복구
vi + file 마지막 행으로 파일 열기
vi +n file n 번째 행으로 파일 열기
vi +/pattern file pattern으로 파일 열기
ex file 파일을 ex 편집기로 열기
종료명령
종료 명령 ZZ 저장하고 빠저나오기
:x 저장하고 빠저나오기
:wq 저장하고 빠저나오기
:w 저장하기
:w! 저장하기(겹처쓰기 방지)
:30,60w newfile 30번째 행에서 60번째 행까지를 newfile로 저장하기
:30,60w >> file 30번째 행에서 60번째 행까지를 file에 덧붙이기
:w %.new file이라는 파일을 file.new로 저장하기
:q 종료하기
:q! 종료하기(겹처쓰기 방지)
:Q vi를 종료하고, ex 호출하기
:e file2 vi를 종료하지 않고 file2 편집하기
:n 다음 파일 편집하기
:e! 현재 편집하고 있는 파일(변경사항을 저장하지 않은 원본)을 다시 부르기
:e# 이전 파일 편집하기
:pre Unix 시스템에 파일보존 신청하기.

Unix 프롬프트에서 vi -r file을 입력하면 이전에 변경한 사항을 복구할 수 있다.
# 이전 파일명
기타명령
vi 명령 . 마지막 명령 반복
u, U 마지막 명령, 행에대한 명령 취소
J 두 행 합치기
CTRL-L 화면 다시 그리기
CTRL-R 취소 명령 취소(Redo)
ex 명령 : vi로 부터 ex 호출
:vi ex로 부터 vi 호출
:sh 쉘 호출
^D 쉘에서 vi로 돌아가기
:! command Unix 명령어 실행
:r newfile newfile을 현재 파일로 읽음
:r! command Unix 명령어의 출력을 현재파일로 읽음
표시 mx 현재의 위치를 x로 표시(숫자는 안됨)
`x x로 깜박이 이동
`` 이전 표시나 이동 후 문장으로 되돌아가기
'x 표시 x를 포함하는 행의 선두로 이동
'' 이전 표시를 포함하는 행의 선두로 이동
단축 :map x sequence 키 x를 편집명령어 집합으로 정의
:unmap x x에대한 정의 삭제
:ab abbr phrase phrase의 약자를 abbr로 한다. abbr이 삽입모드에서 입력되면 완전한 단어나 구로 확장된다.
:unab abbr 약어를 삭제한다.
사용자화 :set option 옵션을 사용
:set option=value 옵션에 value를 할당
:set nooption 옵션 사용안함
:set 사용자에의해 설정된 옵션 보이기
:set all 기본 옵션과 사용자가 설정한 모든 옵션의 목록 보이기
:set option? 설정된 옵션값 보이기
주의:.exrc 파일내에서는 ex 명령의 시작을 나타내는 콜론(:)을 생략해야 한다.