[Linux System Programming] vi cheat sheet

천승주·2022년 9월 21일
0

전체 명령어 정리

입력모드

명령키설명
i현재 커서 앞에 입력한다.
a현재 커서 뒤에 입력한다.
o커서가 위치한 행의 다음 행에 입력한다.
I(대문자 i)커서가 위치한 행의 첫 컬럼으로 이동하여 입력한다.
A커서가 위치한 행의 마지막 컬럼으로 이동하여 입력한다.
O커서가 위치한 행의 이전 행에 입력한다.

커서 이동

명령키설명
k커서를 위로 이동한다.
j커서를 아래로 이동한다.
h커서를 왼쪽으로 이동한다.
l커서를 오른쪽으로 이동한다.
^ / O커서를 현재 행의 처음으로 이동한다.
$커서를 현재 행의 마지막으로 이동한다.
-커서를 한줄 위 처음으로 이동한다.
+ / Enter커서를 다음 행의 처음으로 이동한다.
H커서를 화면의 맨 윗행으로 이동한다.
M커서를 화면의 중간 행으로 이동한다.
L커서를 화면의 맨 아랫행으로 이동한다.
w커서를 다음 단어의 첫 글자로 이동한다.
b커서를 앞 단어의 첫 글자로 이동한다.
e커서를 다음 단어의 마지막 글자로 이동한다.
G파일의 마지막 행으로 커서를 이동한다.
행번호G지정한 행 번호로 커서를 이동한다.
:행번호지정한 행 번호로 커서를 이동한다. (마지막 행 모드)
:$파일의 마지막 행으로 커서를 이동한다. (마지막 행 모드)

화면이동

명령 키설명
Ctrl + u화면의 절반 만큼 위로 이동한다.
Ctrl +ㅇ화면의 절반 만큼 아래로 이동한다.
Ctrl + b / Page Up한화면 위로 이동한다.
Ctrl + f / Page Down한화면 아래로 이동한다.
Ctrl + y 화면을 한 행 위로 이동한다.
Ctrl + e화면을 한 행 아래로 이동한다.

내용수정

명령 키설명
r커서가 위치한 글자를 다른 글자로 수정한다.
cw, [수정할 단어 수]cw커서위치에서부터 현재 단어의 끝까지 수정한다. 숫자cw는 커서 위치로부터 지정한 숫자의 단어 만큼 수정한다.
s, [수정할 글자 수]s커서 위치로부터 ESC키를 입력할때까지 수정한다. 숫자s는 커서 위치로부터 지정한 숫자만의 글자를 수정한다.
cc커서가 위치한 행의 내용을 모두 수정한다.
C커서 위치로부터 행의 끝까지 수정한다.

내용삭제

명령 키설명
x, [삭제할 글자 수]x커서가 위치한 글자를 삭제한다. x앞에 삭제할 글자수를 지정할수도 있다.
dw, [삭제할 단어 수]dw커서가 위치한 단어를 삭제한다. dw앞에 삭제할 단어수를 지정할수도 있다.
dd, [삭제할 행 수]dd커서가 위치한 행을 삭제한다. dd앞에 삭제할 행의수를 지정할수도 있다.
D커서 위치로부터 행의 끝까지 삭제한다.

명령취소

명령 키설명
u명령을 취소한다.
U해당 행에서 한 모든 명령을 취소한다.
:e!마지막으로 저장한 내용 이후의 것을 모두 취소한다.

범위지정

명령 키설명
1, $, %1행부터 마지막 행까지 범위를 지정한다.
1,.1행부터 커서가 있는 행까지 지정한다.
.,$커서가 있는 행부터 마지막 행까지 지정한다.
.,.+2현재 행과 두번째 아랫행까지 지정한다.
10,2010행부터 20행까지 지정한다.

내용 복사하기/잘라내기/붙이기

명령 키설명
yy, [복사할 행 수]yy커서가 위치한 행을 복사한다. yy앞에 복사할 행의 수를 지정할 수도 있다.
dd, [잘라내기할 행 수]dd커서가 위치한 행을 잘라내기한다. 삭제와 같은 명령어입니다. dd앞에 잘라내기할 행 숫자를 입력할 수도 있다.
p커서가 위치한 행의 아래쪽에 붙여넣기를 한다.
P커서가 위치한 행의 위쪽에 붙여넣기를 한다.

내용 검색

명령 키설명
/문자열문자열을 커서 아래 방향으로 검색한다.
?문자열문자열을 커서 위 방향으로 검색한다.
n원래 방향으로 다음 문자열을 검색한다.
N반대 방향으로 다음 문자열을 검색한다.

내용 치환

명령 키설명
:s/[대상문자열]/[바꿀문자열]커서가 위치한 행에서 첫번째로 나오는 대상문자열을 바꿀문자열로 바꾼다.
:%s[대상문자열]/[바꿀문자열]파일 전체에서 모든 대상문자열을 바꿀문자열로 바꾼다.
:[범위]s[대상문자열]/[바꿀문자열]범위 내 모든 각 행에서 첫번쨰로 나오는 대상문자열을 바꿀문자열로 바꾼다.
:[범위]s[대상문자열]/[바꿀문자열]g범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꾼다.
:[범위]s[대상문자열]/[바꿀문자열]gc범위 내 모든 행에서 대상문자열을 바꿀문자열로 바꾸되 수정할 지 여부를 묻는다.



자주 쓰는 명령어

명령 키설명
i입력모드
uctrl + z
[행번호]yy복사
yiw현재 단어 복사
[행번호]dd잘라내기
diw현재 단어 잘라내기
p붙여넣기
:e!마지막에 저장한 이후의 것을 모두 취소
^ $Home End
wb커서를 다음 단어 첫글자, 앞 단어 첫글자
G커서를 파일의 마지막 행으로 이동
[행번호]G지정한 행 번호로 커서 이동
/문자열문자열 검색
:%s[원본][바꿀문자열]파일 전체에서 모든 대상 문자열을 바꿀 문자열로 바꾼다.



References

0개의 댓글