리눅스 vi 편집기는 명령 모드, 입력 모드, 행 모드 3가지로 구성되어있다.
명령 모드의 명령어들
i
a
- 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감)
o (영어)
- 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)
x
- 커서가 위치한 곳의 글자 1개 삭제. (5x : 문자 5개 삭제)
dw
- 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지)
dd
- 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능)
u
yy
- 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 함)
- 5줄 복사 : 5yy
p
- 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v)
k
j
l (엘)
h
0 (숫자)
- 커서가 있는 줄의 맨 앞으로 감 (home 키)
$
(
)
{
}
숫자-
숫자+
G
- 파일의 끝으로 이동.
- 대문자로 사용 (Shift + g)
r
cc
행 모드의 명령어들
(esc 누르고 : 을 누르면 나오는 상태)
w
- 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
w [파일명]
- 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
q
q!
- vi 강제 종료 ( ! 가 붙으면 강제로 수행)
wq
wq!
- 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행)
f [파일명]
-
파일이름을 [파일명]으로 변경
-
예시 : f abc.txt
숫자
$
e!
/문자열
- 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색
?문자열
- 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색
set nu
set nonu
출처: https://blockdmask.tistory.com/25 [개발자 지망생]