linux, unix 에서 사용하는 vi 편집기는 명령모드, 입력모드, 마지막 행 모드로 총 3가지 모드로 구성되어있음
-명령모드 : esc 눌렀을때 또는 vi 바로 들어가자마자 상태의 모드임
-입력모드 : 데이터를 타이핑해서 입력할수있는 모드임
-마지막 행모드 ( Last line mode ) : 맨래에 " : + 명령어 " 로 저장할지, 저장하면서 종료할지 등등의 명령어를 실행할수있는 모드임 ( esc 누르고, 콜론( : )을 누르면 나오는 상태 )
< vi 편집기를 이용해서 텍스트파일을 만드는법 >
1) 쉘에 "vi 파일이름.txt" 를 입력후 엔터쳐서 텍스트파일을 만듦
2) i나 a나 o를 눌러서 입력모드로 전환해서 내용을 입력
3) esc로 명령모드로 전환후 :wq 로 저장후 종료
진짜 쉽다 끝ㅎ
< 명령 모드에서의 명령어들 >
esc 눌렀을때 또는 vi 바로 들어가자마자 상태, 엔터를 치지 않아도됨
i : 현재 커서 위치에 삽입 (입력모드로 넘어감)
a : 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감)
o : 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)
x : 커서가 위치한 곳의 글자 1개 삭제. (5x : 문자 5개 삭제)
dw : 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지)
dd : 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능)
u : 방금 한 명령 취소 (ctrl + z 라고 생각하면됨)
yy : 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면됨) ex) 3줄 복사 : 3yy
p : 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v 한다고 생각하면됨) 3dd를 이용해서 세줄을 지운 것도 p 한번으로 붙여넣기 가능함, 잘라내기 dd -> 붙여넣기 p 하면 자른후 붙여넣기임
(N)dd : N 행 삭제 (삭제가 되는 것 처럼 보이지만 실제로는 버퍼에 들어가 있기 때문에 p를 이용해서 붙여넣기 가능)
잘라내기 라고 생각하면됨 (ctrl + x) , vi에서 여러줄을 삭제하고 싶다면 (N)dd 를 사용하면 됨 (N은 숫자)
k : 커서가 한 줄 위로 올라감
j : 커서가 한 줄 아래로 내려감
l : 커서가 한칸 우측으로감
h : 커서가 한칸 좌측으로감
0 : 커서가 있는 줄의 맨 앞으로 감 (home 키라고 보면됨,숫자0)
$ : 커서가 있는 줄의 맨 뒤로 감 (end 키라고 보면됨)
( : 현재 문장의 처음
) : 현재 문장의 끝
{ : 현재 문단의 처음
} : 현재 문단의 끝
숫자- : 숫자 만큼 윗 줄로 이동
숫자+ : 숫자 만큼 아래 줄로 이동
G : 파일의 끝으로 이동, 대문자로 사용해야함 (Shift + g)
r : 한 문자 변경
cc : 커서가 있는 그 줄의 내용 변경
< 마지막 행 모드에서의 명령어들 >
esc 누르고, 콜론( : )을 누르면 나오는 상태, 명령어 + 엔터쳐야함
:w : 저장
:w파일명 : 입력한 파일명으로 저장
:q : 종료
:wq : 저장후종료
:q! : 강제종료
:wq! : 강제저장후 종료
:f파일명 : 파일이름을 파일명으로 변경 ex) B acb.txt
:숫자 : 입력숫자의 라인으로 커서이동
:e! : 마지막 저장이후 모든 편집 취소
:$ : 파일의 맨끝줄로 이동
:/문자열 : 현재커서위치 앞쪽으로 문자열 탐색
:?문자열 : 현재커서위치 뒷쪽으로 문자열 탐색
:set nu : vi 라인 번호 출력
:set nonu : vi라인번호 출력 취소
'백엔드' 카테고리의 다른 글
[Microsoft Azure] Azure 가상머신 만들기, Tabby 터미널접속, 리소스 삭제하기 (0) | 2023.12.14 |
---|---|
[Microsoft Azure] 마이크로소프트 애저 key vault 만들고 DBeaver연동,접속하기 (0) | 2023.12.14 |
[Web] Web Server와 WAS의 차이 (0) | 2023.09.12 |
[Java] stream API (filter) (0) | 2023.06.27 |
[Java] Stream API란 - fiter /map /of (0) | 2023.06.27 |