치악산 복숭아
[시스템 프로그래밍 기초] vi 명령어 정리 본문
1. vi 시작하기
vi filename
- filename의 이름을 가진 파일이 존재한다면 open, 없다면 create 한다
- 리눅스, 유닉스에는 확장자라는 개념이 없음(r w x 개념만 있다)
2. vi 실행모드의 종류
(1) Command mode (명령 모드)
- 문자열을 검색할 수 있다
- 에디팅 모드에서 esc키를 눌러서 커맨드 모드로 진입할 수 있다
(2) Editing mode (수정 모드)
- 문자를 삽입, 수정할 수 있다
- 커맨드 모드에서 `a`(append), `i`(insert) 문자를 입력해서 에디팅 모드로 진입할 수 있다
3. vi 커맨드 모드에서의 명령어
(1) vi 종료하기
:q | 에디터 종료 |
:q! | 파일의 변경사항을 저장하지 않고 종료 ( ↔️ :wq) |
- :q의 경우변경사항이 있는데 이 명령어를 사용하면 아래의 에러메시지가 표출된다
(2) vi 변경사항 저장하기
:wq | 변경사항 저장 및 종료 |
:w | 변경사항 저장 (종료 X) |
(3) vi 커서 이동하기
h | 왼쪽으로 한 칸 이동 |
l | 오른쪽으로 한 칸 이동 |
j | 한 줄 아래로 이동 |
k | 한 줄 위로 이동 |
맥os의 터미널은 영문자가 아닌 방향키로도 이동 가능하던데 리눅스는 다른걸까?
(4) vi 문자 지우기
x | 커서가 가리키는 문자 한 개 삭제, (2x는 문자 두개 삭제...nx로 응용 가능) |
u | 실행 취소 |
dd | 커서가 있는 라인 전부 삭제 (ndd로 응용 가능) |
s | 해당 문자 치환 |
d^ | 커서가 위치한 라인의 첫 문자열 ~ 커서 아래 문자열 직전까지 삭제 (사라진 문자열은 클립보드로 들어간다. 잘라내기 느낌?) |
d$ | 커서 아래 문자열 ~ 커서가 위치한 라인의 끝 문자열까지 삭제 |
dw | 커서가 위치한 문자열 삭제 |
p | 현재 문자열 아래 붙여넣기 |
yy | 한 줄 복사, (ny로 응용 가능) |
(5) vi 커서 점프하기
:lineNumber | 파일의 특정한 lineNumber번째 라인으로 이동 |
^f | 다음 페이지로 이동 |
^b | 이전 페이지로 이동 |
w | 다음 단어로 커서 이동, (nb로 응용 가능) |
b | 이전 단어로 커서 이동 |
nG | n번째 라인으로 커서 이동 |
'CS > 시스템 프로그래밍 기초' 카테고리의 다른 글
[시스템 프로그래밍 기초] C 포인터 (0) | 2023.03.26 |
---|
Comments