반응형
종류 | 모드 | 명령키 | 기능 |
저장과 종료 | 마지막 행 모드 | :q | vi에서 작업한 것이 없을 때 그냥 종료 |
:q! | 작업한 내용을 저장하지 않고 종료 | ||
:w [파일명] | 작업한 내용을 저장만 함 파일명 지정 시 새 파일로 저장 | ||
:wq, :wq! | 작업한 내용을 저장하고 vi 종료 | ||
명령 모드 | ZZ | 작업한 내용을 저장하고 vi 종료 | |
입력 모드로 전환 | i | 커서 앞에 입력 | |
l | 커서가 위치한 행의 첫 컬럼으로 이동하여 입력 | ||
a | 커서 뒤에 입력 | ||
A | 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력 | ||
o | 커서가 위치한 행의 다음 행에 입력 | ||
커서 이동하기 | 명령 모드 | k | 커서를 한 행 위로 이동 |
j | 커서를 항 행 아래로 이동 | ||
l | 커서를 한 글자 오른쪽으로 이동 | ||
h | 커서를 한 글자 왼쪽으로 이동 | ||
^ 또는 O | 커서를 현재 행의 처음으로 이동 | ||
$ | 커서를 현재 행의 마지막으로 이동 | ||
- | 커서를 앞 행의 처음으로 이동 | ||
+ 또는 Enter | 커서를 다음 행의 처음으로 이동 | ||
H | 커서를 화면의 맨 윗행으로 이동 | ||
M | 커서를 화면의 중간 행으로 이동 | ||
L | 커서를 화면의 맨 아랫행으로 이동 | ||
w | 커서를 다음 단어의 첫 글자로 이동 | ||
b | 커서를 앞 단어의 첫 글자로 이동 | ||
e | 커서를 다음 단어의 마지막 글자로 이동 | ||
화면 이동하기 | 명령 모드 | CTRL+u | 반 화면 위로 이동 |
CTRL+d | 반 화면 아래로 이동 | ||
CTRL+b | 한 화면 위로 이동 | ||
CTRL+f | 한 화면 아래로 이동 | ||
CTRL+y | 화면을 한 행만 위로 이동 | ||
CTRL+e | 화면을 한 행만 아래로 이동 | ||
특정 행으로 바로 이동하기 | 명령 모드 | G | 파일의 마지막 행으로 커서가 이동 |
행 번호 G | 지정한 행 번호로 커서가 이동 | ||
마지막 행 모드 | :행 번호 | 지정한 행 번호로 커서가 이동 | |
:S | 파일의 마지막 행으로 커서가 이동 |
종류 | 모드 | 명령 키 | 기능 |
내용 수정하기 | 명령 모드 | r | 커서가 위치한 글자를 다른 글자로 수정 |
cw, #cw | 커서 위치부터 현재 단어의 끝까지 수정 #에는 수정할 단어의 수를 지정 ex)3cw : 커서 위치부터 세 단어 수정 |
||
s, #s | 커서 위치부터 ESC 키를 입력 할 때까지 수정 #에는 수정할 글자의 수를 지정 5s : 커서 위치부터 다섯 글자 수정 |
||
cc | 커서가 위치한 행의 내용을 모두 수정 | ||
C | 커서 위치부터 행의 끝까지 수정 | ||
내용 삭제하기 | 명령 모드 | x, #x | 커서 위치의 글자를 삭제 #에는 삭제할 글자 수 지정 |
dw, #dw | 커서 위치의 단어를 삭제 #에는 삭제할 단어의 수 지정 |
||
dd, #dd | 커서 위치의 행을 삭제 #에는 삭제할 행의 수 지정 |
||
D | 커서 위치부터 행의 끝까지 삭제 | ||
명령 취소하기 | 명령 모드 | u | 명령을 취소 |
U | 해당 행에서 한 모든 명령을 취소 | ||
마지막 행 모드 | :e! | 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업 | |
복사, 붙여넣기 잘라내기 |
명령 모드 | yy, #yy | 커서가 위치한 행을 복사 #에는 복사할 행의 수 지정 |
p | 커서가 위치한 행의 아래쪽에 붙임 | ||
P | 커서가 위치한 행의 위쪽에 붙임 | ||
dd, #dd | 커서가 위치한 행을 자름 #에는 자를 행의 수 지정 |
||
마지막 행 모드 | 1, $ 또는 % | 1행부터 마지막 행까지 지정 | |
1,. | 1행부터 커서가 있는 행까지 지정 | ||
,-3 | 현재 행과 이전 세 행까지 지정 | ||
10,20 | 10행부터 20행까지 지정 | ||
:#y | #로 지정한 행을 복사 | ||
:<범위>y | 범위로 지정한 행을 복사 | ||
#:d | #로 지정한 행을 자름 | ||
:<범위>d | 범위로 지정한 행을 자름 | ||
:pu | 현재 행 다음에 버퍼의 내용을 붙임 | ||
:#pu | #로 지정한 행 다음에 버퍼의 내용을 붙임 | ||
검색하기 | 명령 모드 | /문자열 | 문자열을 아래 방향으로 검색 |
?문자열 | 문자열을 위 방향으로 검색 | ||
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 누르면 vi로 돌아옴) |
:sh | vi를 잠시 빠져나가서 셸 명령을 실행 (exit명령을 사용하면 vi로 돌아옴) | ||
기타 명령 키 | 명령 모드 | Ctrl + l ( 소문자 L) | 현재 화면을 다시 출력 |
Ctrl + g | 현재 커서 위치의 행 번호를 마지막 행에 출력 | ||
Shift + j | 현재 행과 아랫행을 연결하여 한 행으로 만듬 | ||
. | 바로 직전에 했던 명령을 반복 | ||
환경설정 | 마지막 행 모드 | :set nu | 파일 내용의 각 행에 행 번호를 표시 |
:set nonu | 행 번호를 감춤 | ||
:set list | 눈에 보이지 않는 특수 문자를 표시 | ||
:setnolist | 특수 문자를 감춤 | ||
:set showmode | 현재 모드를 표시 | ||
:set noshowmode | 현재 모드를 감춤 | ||
set | set으로 설정한 모든 vi 환경설정 값을 출력 | ||
set all | 모든 vi 환경 변수와 현재 값을 출력 |
'Linux' 카테고리의 다른 글
[Linux] 리눅스 기본 명령어 (0) | 2024.06.11 |
---|