#4 vi모드
1) vi모드 실행 방법
vi [파일명] -> 파일이 생성됨과 동시에 명령모드로 실행됩니다.
1-1 vi 실행 모드
vi에디터는 편집 모드와 명령 모드로 나누는데 명령어가 많기 때문에 가장 자주 사용하고 유용한 명령어 위주로 알려드리겠습니다.
* 편집모드 ↔ 입력모드 전환 *
편집모드에서 입력모드로 전환하기 위해선 특정 키를 입력시켜 전환할 수 있습니다. 다시 명령모드로 돌아기 위해서 Esc키를 누르면 됩니다.
* 입력 모드 전환 키 *
i : 현재 커서 위치에 글자 삽입할 때 사용합니다. i 키를 누르고 난 이후에 쓰는 글은 현재의 커서의 위치에 입력됩니다.
I : 현재 줄 위치에 글자 삽입할 때 사용합니다.
a : 현재 커서 다음 위치에 글자 삽입할 때 사용합니다.
A : 현재 줄 마지막 위치에 글자 삽입할 때 사용합니다.
o : 아랫 줄 위치에 글자 삽입할 때 사용합니다.
O : 윗 줄에 위치에 글자 삽입할 때 사용합니다.
s : 현재 커서 글자 지우고 입력 모드로 전환 합니다.
r : 현재 커서 글자 지우고 한 글자 입력 받아 명령 모드바뀝니다.
* vi 명령 모드 키 *
Esc키를 눌러서 들어 올 수 있는 모드입니다.
입력 모드에서 입력 작업 완료한 뒤, 커서 이동이나 삭제, 복사, 붙여 넣기 등의 편집 작업 등을 할 때 사용되는 모드입니다.
[ 커서 이동 시키기 ]
h : 왼쪽으로 이동 [←]
j : 한 줄 아래쪽으로 커서 이동 [↓]
k : 한 줄 위쪽으로 커서 이동 [↑]
l : 한 문자 오른쪽으로 커서 이동 [←]
w : 다음 단어 첫 문자로 커서 이동
ex) Hello Linux! I love you!
b : 이전 단어 첫 문자로 커서 이동
ex) Hello Linux! I love you!
G : 마지막 줄로 커서 이동, 숫자G로 눌렀을 때, 숫자에 해당되는 줄로 커서 이동
^ : 공백 문자가 아닌, 현재 줄의 첫 문자로 커서 이동
0 : 공백 문자를 포함한, 현재 줄 첫 문자로 커서 이동
$ : 현재 줄 마지막 문자로 커서 이동
Ctrl+f : 한 페이지 아래로 커서 이동 [PgDn]
Ctrl+b : 한 페이지 위로 커서 이동 [PgUp]
[ 삭제하기 ]
※ 삭제라곤 하지만 삭제된 내용은 버퍼에 저장되어 p 명령어로 붙여넣을수 있기 때문에 기능은 잘라내기와 동일합니다.
x : 현재 커서 위치 1문자 삭제
X : 현재 커서 위치 이전 1문자 삭제
dw : 현재 커서 위치 1단어 삭제
ex)3dw < - 3단어 삭제
db : 현재 커서 위치 이전 1단어 삭제
dd : 현재 커서 위치 줄 삭제, 숫자dd로 쓰면 숫자만큼의 줄이 삭제됨
ex) 3dd < - 3줄 삭제
d^ : 현재 줄에서 현재 커서 위치 이전 문자열 삭제
d$ : 현재 줄에서 현재 커서 위치 이후 문자열 삭제
D : d$와 같음
[ 복사, 붙여 넣기 ]
※ 여기서의 복사란, 버퍼로의 복사를 뜻합니다.
yw : 현재 커서 이후 단어 복사, 숫자yw로 쓰면 숫자만큼의 단어가 복사됨, 다른 복사 명령에도 이와 같은 숫자 입력 방식이 적용됨
yb : 현재 커서 이전 단어 복사
yy : 현재 줄 복사, 숫자yy로 쓰면 숫자만큼의 줄이 복사됨
p : 복사된 항목을 현재 커서 위치 이후에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능
P : 복사된 항목을 현재 커서 위치 이전에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능
[ 검색 ]
/검색어 : 전진 검색
?검색어 : 후진 검색
n : 검색 반복
N : 반대 방향 검색 반복
[ 되돌리기(undo) ]
u : 되돌리기(undo). u키를 계속 치게되면, undo 버퍼가 빌 때까지 계속 되돌리기할 수 있습니다. [ctrl + z 같은 기능]
U : 라인 되돌리기. 한 줄에 대해서 모든 편집을 없던 것으로 하고 원상태로 되돌림
Ctrl+r : Redo(undo undo)
[ 기타 ]
J : 커서 위치 아랫줄을 현재 줄에 붙입니다. 대소문자에 따라서 기능이 구별됩니다 [ j 는 ↓]
. : 이전 실행 명령 반복합니다.
ZZ : 현재 문서 저장하고, 종료합니다.
3) ex 명령 모드 : ex 라인 에디터의 명령어를 사용할 수 있습니다. vi 명령 모드 상태에서, : 키를 눌러서 들어가고, Esc키를 눌러서 다시 vi 명령 모드로 나옵니다. 아래에 제가 자주 사용하는 명령들을 적어 봅니다. 각각의 명령을 입력한 후, 실행을 하기 위해서는 엔터키를 누르면 됩니다.
시작줄번호,끝줄번호d : 시작줄번호에서 끝줄번호까지의 줄을 삭제합니다.
시작줄번호,끝줄번호y : 시작줄번호에서 끝줄번호까지의 줄을 복사합니다.
시작줄번호,끝줄번호s/W/C/g : 시작줄번호에서 끝줄번호까지 'W'를 찾아 'C'로 바꿔줍니다.
g를 사용하지 않으면, 한 줄에 'W'가 여러 개 있더라도, 그 줄에 대해서는 한 번만 바꾸고 지나갑니다.
set number : 줄 번호 표시합니다.
r 파일이름 : '파일이름'의 파일을 현재 커서 아랫줄에 삽입합니다.
! 명령 : 밖으로 빠져 나가지 않고 바로 '명령'을 실행시킵니다. 강제성을 부여할수 있습니다.
w : 저장하기
w 파일이름 : '파일이름'으로 저장하기
q : vi 종료하기
wq : 저장하고, 종료하기
※ ! 를 붙여주면 강제로 저장,종료합니다.
이포스팅에 vi모드의 전부가 들어간게 아니라는 점 참고해주시길 바랍니다.
제가 자주 사용하는 명령어들과 실제로 자주 쓰이는 명령어들만 나열해놨을 뿐 더 많은 기능을 제공하는 모드입니다.
오늘은 vi모드에 대해서 알아봤습니다.
'예전 포스팅 (~2018)' 카테고리의 다른 글
[Linux] 기초 명령어 세트 1 (0) | 2021.10.01 |
---|---|
[Linux] OS 개요와 구조 (0) | 2021.10.01 |
Untangle (0) | 2021.10.01 |
vSphere ESXi / vCenter 란 (0) | 2021.10.01 |
[Linux] Hardlink & symbolic link (0) | 2021.10.01 |
댓글