vi의 저장과 종료 명령키퍼
구분 |
명령 키 |
기능 |
마지막 행 모드 |
:q |
작업한 것이 없을 때 그냥 종료. |
마지막 행 모드 |
:q! |
작업한 것이 있을 때 저장하지 않고 종료. |
마지막 행 모드 |
:w [파일명] |
작업한 내용을 저장. 파일명을 지정하면 새 파일로 저장. |
마지막 행 모드 |
:wq, :wq! |
작업한 내용을 저장하고 종료. |
명령 모드 |
ZZ(Shift+zz) |
작업한 내용을 저장하고 종료. |
- 마지막 행 모드의 명령에서 !(느낌표)는 강제의 의미.등
입력 모드 전환 명령키
명령키 |
기능 |
i |
커서 앞에 입력(현재 커서 자리에 입력) |
a |
커서 뒤에 입력(현재 커서 다음 자리에 입력) |
o |
커서가 위치한 행의 다음 행의 입력 |
l(대문자 아이) |
커서가 위치한 행의 첫 칼럼으로 이동하여 입력 |
A |
커서가 위치한 행의 마지막 칼럼으로 이동하여 입력 |
O |
커서가 위치한 행의 앞 행에 입력 |
커서 이동 명령 키
명령 키 |
기능 |
k |
커서를 한 행 위로 이동(화살표 위방향 키) |
j |
커서를 한 행 아래로 이동(화살표 아래방향 키) |
l(소문자 엘) |
커서를 한 글자 오른쪽으로 이동(화살표 오른쪽 방향 키) |
h |
커서를 한 글자 왼쪽으로 이동(화살표 왼쪽 방향 키) |
^ 또는 0 |
커서를 현재 행의 처음으로 이동(Home 키) |
$ |
커서를 현재 행의 마지막으로 이동(End 키) |
- |
커서를 앞 행의 처음으로 이동 |
+ 또는 Enter |
커서를 다음 행의 처음으로 이동 |
H |
커서를 화면의 맨 윗행으로 이동 |
M |
커서를 화면의 중간 행으로 이동 |
L |
커서를 화면의 맨 아랫행으로 이동 |
w |
커서를 다음 단어의 첫 글자로 이동 |
b |
커서를 앞 단어의 첫 글자로 이동 |
e |
커서를 단어의 마지막 글자로 이동 |
화면 이동 명령 키
기존 명령 키 |
기능 |
추가 명령 키 |
^u(Ctrl + u) |
반 화면 위로 이동 |
|
^d(Ctrl + d) |
반 화면 아래로 이동 |
|
^b(Ctrl + b) |
한 화면 위로 이동. |
Page Up |
^f(Ctrl + f) |
한 화면 아래로 이동 |
Page Down |
^y(Ctrl + y) |
화면을 한 행만 위로 이동 |
|
^e(Ctrl + e) |
화면을 한 행만 아래로 이동 |
동 |
특정 행으로 바로 이동하는 명령 키
명령키 |
기능 |
G(Shift + g) |
파일의 마지막 행으로 이동 |
행번호 + G(Shift + g) |
지정한 행 번호로 이동 |
:행번호 |
지정한 행 번호로 이동(마지막 행 모드) |
:$ |
파일의 마지막 행으로 이동(마지막 행 모드) |
내용 수정 명령키
명령키 |
기능 |
r |
커서가 위치한 글자를 다른 글자로 수정 |
cw, #cw |
커서 위치부터 현재 단어의 끝까지 수정. #에는 수정할 단어의 수를 지정 ex) 3cw는 커서 위치부터 3 단어를 수정 |
s, #s |
커서 위치부터 ESC키를 입력할 때까지 수정. #에는 수정할 글자의 수를 지정 ex) 5s는 커서 위치부터 다섯 글자를 수정 |
cc |
커서가 위치한 행의 내용을 모두 수정 |
C |
커서 위치부터 행의 끝까지 수정 |
내용 삭제 명령키
명령키 |
기능 |
x, #x |
커서 위치의 글자를 삭제. #에는 삭제할 글자 수를 지정. ex)3x는 세 글자를 삭제 |
dw, #dw |
커서 위치의 단어를 삭제. #에는 삭제할 단어 수를 지정. |
dd, #dd |
커서 위치의 행을 삭제. #에는 삭제할 행의 수를 지정. ex)5dd는 커서 위치부터 다섯 행을 삭제. |
D(Shift + d) |
커서 위치부터 행의 끝까지 삭제. |
이전 명령 취소 명령키
명령키 |
기능 |
u |
명령을 취소 |
U |
해당 행에서 한 모든 명령을 취소 |
:e! |
마지막으로 저장한 내용 이후의 것을 버리고, 새로 작업. |
- 바로 이전 명령만 취소할 수 있었지만, 일부 리눅스 vi에는 히스토리 기능이 있어서 실행했던 역순으로 차례차례 취소가 가능.
복사하기, 잘라내기, 붙이기 명령키
명령키 |
기능 |
yy, #yy |
커서가 위치한 행을 복사. #에는 복사할 행의 수를 지정. ex) 3yy는 세 행을 복사. |
p |
커서가 위치한 행의 아래쪽에 붙임. |
P(Shift + p) |
커서가 위치한 행의 윗쪽에 붙임. |
dd, #dd |
삭제와 같은 기능. 커서가 위치한 행을 잘라둠. #에는 잘라둘 행의 수를 지정. ex) 3dd는 세 행을 잘라둠. |
- 복사하기나 잘라내기를 하면 내용이 임시 버퍼에 저장.
따라서 복사하기나 잘라내기를 한 뒤에는 다른 명령을 사용하지 말고
즉시 원하는 위치로 이동하여 붙여넣기를 하는 것이 좋음.
- 단순히 잘라내기, 복사하여 버퍼에 저장한 것을 '언네임드 버퍼'라고 함.
- 이름을 붙여서 사용할 수 있는 버퍼를 '네임드 버퍼'라고 함.
네임드 버퍼
- 각각 다른 이름을 붙인 버퍼에 독립적으로 내용을 저장하고 사용.
- 네임드 버퍼에 이름을 붙일 때는 "+문자 또는 "+숫자 의 형태로 함.
- 숫자를 사용할 경우 숫자 버퍼라고도 함.
* 네임드 버퍼 : "a, "b, "c, "d, .... , "z
* 숫자 버퍼 : "1, "2..., "9
- 네임드 버퍼에 커서가 위치한 행을 저장하려면 '버퍼 이름+yy'를 입력.
=> 즉, "a 버퍼에 복사한 내용을 저장하려면 "ayy 를 입력하면 됨.
- 이를 커서가 위치한 행의 아래쪽에 붙이려면 "ap 와 같이 '버퍼이름+p'를 입력.
마지막 행 모드
==============================================================
마지막 행 모드에서 복사하기, 잘라내기, 붙이기
범위 지정 명령키
명령키 |
기능 |
1, $ 또는 % |
1행부터 마지막 행까지 지정 |
1,. |
1행부터 커서가 있는 행까지 지정 |
.,$ |
커서가 있는 행부터 마지막 행까지 지정 |
.,-3 |
현재 행과 이전 세번째 행까지(총 네 행) 지정 |
10,20 |
10행부터 20행까지 지정 |
마지막 행 모드에서 복사하기, 잘라내기, 붙이기 명령키
명령키 |
기능 |
:#y |
#로 지정한 행을 복사함. ex) 3y는 3행을 복사함 |
:<범위>y |
범위로 지정한 행을 복사함. ex) 2,4y는 2~4행을 복사함 |
:#d |
#로 지정한 행을 잘라냄. ex) 3d는 3행을 잘라냄. |
:<범위>d |
범위로 지정한 행을 잘라냄. ex) 1,4d는 1~4행을 잘라냄. |
:pu |
현재 행 다음에 버퍼의 내용을 붙임. |
:#pu |
#로 지정한 행 다음에 버퍼의 내용을 붙임. ex) 4pu와 같이 지정함. |
검색 명령키
- 검색하기 위해 마지막행 모드로 이동할 때 ':'이 아니라 '/'이나 '?'를 입력함.
- /은 커서 위치에서 아래 방향으로 검색
- ?은 커서 위치에서 위 방향으로 검색
- '/'이나 '?' 다음에 찾고자 하는 문자열을 입력하고 Enter
- 다음 문자열을 검색하려면 n(Next - 명령모드)명령 키를 사용.
명령키 |
기능 |
/문자열 |
문자열을 아래 방향으로 검색 |
?문자열 |
문자열을 위 방향으로 검색 |
n |
원래 찾던 방향으로 다음 문자열을 검색 |
N |
역방향으로 다음 문자여을 검색 |
바꾸기 명령키
명령키 |
기능 |
:s/문자열1/문자열2 |
커서가 위치한 행에서 첫번째로 나오는 문자열1을 문자열2로 바꿈. |
:%s/문자열1/문자열2/g |
파일 전체에서 모든 문자열1을 문자열2로 바꿈. |
:<범위>s/문자열1/문자열2 |
범위 내 모든 행의 각 행에서 첫번째로 나오는 문자열1을 문자열2로 바꿈. |
:<범위>s/문자열1/문자열2/g |
범위 내 모든 행에서 문자열1을 문자열2로 바꿈. |
:<범위>s/문자열1/문자열2/gc |
범위 내 모든 행에서 문자열1을 문자열2로 바꿀 때 수정할지 여부를 물음. |
파일 관련 명령키
명령키 |
기능 |
:r 파일명 |
지정한 파일을 읽어들여 현재 커서 위치에 삽입. |
:e 파일명 |
지정한 파일로 전환(기존 파일을 :w로 저장한 뒤에 실행해야함) |
:n |
vi 시작시 여러 파일을 저장했을 경우 다음 파일로 작업들이 이동. |
셀 명령 실행 명령키
명령키 |
기능 |
:! 셀 명령 |
vi 명령을 잠시 중단하고 셀 명령을 실행 (vi로 돌아오려면 Enter 키를 입력) |
:sh |
vi를 잠시 빠져나가서 셀 명령을 실행 (vi로 돌아오려면 exit 명령을 입력) |
==============================================================
기타 명령키
명령키 |
기능 |
Ctrl + l(소문자 L) |
현재 화면을 다시 출력. |
Ctrl + g |
현재 행 번호를 마지막 행에 출력 |
Shift + j(대문자 J) |
현재 행과 아랫행을 연결하여 하나의 행으로 만듬(행이 합쳐질 때 공백 문자가 삽입됨) |
.(마침표) |
바로 직전에 했던 명령을 반복(커서 이동키는 .명령키를 입력해도 반복 수행되지 않음) |
~ |
커서가 놓인 곳의 글자가 소문자이면 대문자로, 대문자이면 소문자로 바꿈. |
'OS > Linux - Ubuntu' 카테고리의 다른 글
[Linux - 리눅스] 쉘 환경 설정 (0) | 2015.01.01 |
---|---|
[Linux - 리눅스] 입출력 장치, 파일 디스크립터(File Descriptor), 리다이렉션(Redirection) (0) | 2014.12.25 |
[Linux - 리눅스] 쉘의 종류 및 변경, 특수 문자 사용하기 (0) | 2014.12.24 |
[Linux - 리눅스] vi 환경설정 (0) | 2014.12.24 |
[Linux - 리눅스] 디렉터리의 주요 기능 및 절대 경로, 상대 경로 (0) | 2014.12.21 |