굉장히 오래 된 CLI 환경의 문서 편집기
90년대에 vi 에디터를 기반으로 한 vim 편집기가 만들어짐
사용환경
명령모드 : 기본 사용 환경, 커서 이동, 복사/ 잘라내기/붙여넣기, 실행취소/다시실행, 삭제, 입력/실행 모드 전환
입력모드 : 내용의 편집을 위한 환경, 파일 내용의 입력/ 수정/ 삭제, 명령 모드 전환
실행모드 : 그 외 대부분의 기능들을 위한 환경, 명령 모드 전환
(ex 모드)
vi 실행 명령
vi : 빈 파일 열기
vi 파일명 : 해당 파일 열기
1) 글자 단위 커서 이동
h : 한 글자 왼쪽으로 이동
j : 한 글자 아래로 이동
k : 한 글자 위로 이동
l : 한 글자 오른쪽으로 이동
2) 단어 단위 커서 이동
( 소문자로 입력하면 특수문자를 별개의 단어로 인식
대문자로 입력하면 공백문자와 개행문자만으로 단어를 구분)
w : 다음 단어의 첫 글자로 이동
b : 이전 단어의 첫 글자로 이동
e : 다음 단어의 마지막 글자로 이동
3) 줄 내부 커서 이동
0 : 줄의 첫 글자로 이동
$ : 줄의 마지막 글자로 이동
4) 화면 내부
H : 화면의 첫 줄로 이동
M : 화면의 가운데 줄로 이동
L : 화면의 마지막 줄로 이동
5) 문서 내부 커서 이동
i : 커서 왼쪽으로 내용 입력
I : 그 줄의 맨 왼쪽에서 내용 입력
a : 커서 오른쪾으로 내용 입력
A : 커서 맨 오른쪽에서 내용 입력
o : 커서 아래쪽에 빈 줄 삽입 후 내용 입력
O : 커서 위쪽으로 빈 줄 삽입 후 내용 입력
s : 커서가 있던 글자를 지우고 내용 입력
S : 그 줄 전체가 사라지고 내용 입력
u : 마지막으로 수행한 동작 취소 (되도리기)
커서가 있는 줄의 내용만 삭제
x : 커서 뒤쪽의 내용을 삭제 (delecte 기능)
X : 커서 앞쪽의 내용을 삭제 (backspace 기능)
yy : 커서가 있는 줄 복사
숫자 + yy : 커서가 있는 줄 부터 숫자만큼의 줄 복사
y + 커서이동 : 커서가 이동해야 하는 만큼 복사
dd : 커서가 있는 줄 잘라내기
숫자 + dd : 커서가 있는 줄 부터 숫자만큼의 줄 잘라내기
d + 커서이동 : 커서가 이동해야 하는 만큼 잘라내기
p : 커서 오른쪽으로 붙여넣기
p : 커서 왼쪽으로 붙여넣기
/찾을내용 : 맨 위에서 아래로 탐색
?찾을내용 : 맨 아래에서 위로 탐색
동작 후 추가 입력
n : 검색 방향으로 다음 찾기
N : 검색 방향의 반대 방향으로 다음 찾기
:[범위]s/찾을 내용/바꿀 내용/[옵션]
범위
생략 : 커서가 위치한 줄에서 특정 내용을 찾아 서 변경
n : n번째 줄에서 특정 내용을 찾아서 변경
n1,n2 : n1 번째 줄 부터 n2 번째 줄 까지 범위에서 특정 내용을 찾아서 변경
% : 문서 전체에서 특정 내용을 찾아서 변경
옵션
(: 뒤에 숫자를 입력해서 숫자번째 줄을 기준으로 동작 가능)
:.! 명령어 : 커서가 있던 줄의 내용을 지유고 명령어 동잡 결과 삽입
:r! 명령어 : 커서가 있는 줄 아래로 명령어 동작 결과 삽입
:r 파일명 : 커서가 있는 줄 아래로 다른 파일의 내용 삽입
( !를 붙여서 강제 동작이 가능)
w : 저장
q : 종료
wq : 저장하고 종료
e 파일명 : 기존 문서를 종료하고 다른 파일 불러오기
ctrl + w + n : 화면 분활
ctrl + w + w : 분활된 화면 간 커서 이동