우분투
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 명령의 시작을 나타내는 콜론(:)을 생략해야 한다. |