리눅스에서 편집기로 가장 많이 쓰이는 프로그램으로 vi가 있다.
많은 명령어, 기능이 있지만 필수적으로 알아야 할 명령어와 편리한 사용법에 대해서 알아보자.
우선 vi 명령어를 통해서 새로운 파일을 생성하거나 이미 존재하는 텍스트 파일을 연다.
$ vi test.txt
vi는 기본적으로 명령 모드와 편집 모드가 존재한다. 처음 접한다면 이 부분에서 맨붕이 올 수 있는데 쉽게 설명하면
- 명령 모드에서는 키보드 입력이 미리 정의된 어떤 기능을 실행하는 역할을 하고,
- 편집 모드에서는 키보드 입력 시 해당하는 문자가 입력된다고 보면 된다.
vi가 시작되면 처음엔 명령 모드로 실행이 되고, i, a, o 키를 통해서 편집 모드로 전환 할 수 있다.
편집 모드로 전환되면 키보드를 입력 시 해당하는 문자가 그대로 작성된다.
i | 커서 위치에서 입력 시작 |
a | 커서 다음 위치에서 입력 시작 |
o | 커서 다음 행에서 입력 시작 |
문자 작성이 끝나고 다른 기능을 수행하기 위해서는 Esc키를 눌러서 다시 명령 모드로 전환한다.
명령 모드에서 커서를 이동할 때에는 h, j, k, l 키를 입력한다.
순서대로 왼쪽, 아래, 위, 오른쪽 으로 이동하고 아래 그림과 같이 방향키로 생각하면 이해가 쉽다.
입력한 문자의 수정이나 삭제가 필요한 경우 명령 모드에서 해당 라인이나 문자로 커서를 이동 후 x, d, r 키 를 활용한다.
x | 커서 위치의 문자 1개 삭제 |
5x | 커서 위치 포함 오른족 문자 5개 삭제 |
dd | 커서 위치 라인 1개 삭제 |
5dd | 커서 위치 포함 아래 라인 5개 삭제 |
dw | 커서 위치 포함 오른쪽 띄어쓰기까지 삭제 (delete word) |
r + ? | 커서 위치 문자 1개를 r키 다음에 입력된 ?로 수정 (revise) |
한 문장이 길거나 페이지를 넘어가는 경우 문장 이동, 페이지 이동도 반드시 필요하다.
$ (Shift+4) | 문장의 끝으로 커서 이동 |
^ (Shift+6) | 문장의 처음으로 커서 이동 |
gg | 첫번째 행으로 커서 이동 |
G | 마지막 행으로 커서 이동 |
Ctrl+d | 다음 페이지로 이동 (down) |
Ctrl+u | 이전 페이지로 이동 (up) |
내용이 길다면 특정 단어를 검색하거나 바꾸는 기능도 반드시 필요할 때가 온다.
/ 키를 입력하면 검색 모드로 전환되고 단어나 문장을 입력 후 Enter키를 누르면 일치하는 단어의 위치로 이동한다.
일치하는 단어가 여러개 일 경우 n 키를 입력해서 다음 일치하는 단어로 이동한다.
검색 모드에서 다시 명령 모드로 돌아오려면 Esc키를 눌러준다.
문서 편집이 모두 완료되었다면 변경 사항을 저장하거나 취소 후 vi를 종료하고 터미널로 돌아간다.
vi를 종료하기 위해서는 : 키를 입력하여 ex명령 모드로 전환 후 아래 명령어를 입력 후 Enter를 입력한다.
ex명령 모드에서 다시 명령 모드로 돌아오려면 Esc키를 눌러준다.
:wq + Enter | 저장 후 종료 |
:q + Enter | 종료 |
:q! + Enter | 강제 종료 (변경 사항이 있는 경우 취소하고 종료) |
vi를 처음 접할 때 가장 헷갈리는 부분인 모드 전환에 대해서 그림으로 정리해 봤다.
이 외에도 기능이 너무 많지만 일단 이정도만 알아두면 vi를 능숙하게 사용하는데 전혀 지장이 없다.
반대로 이정도도 모른다면 vi를 사용하는데 반드시 불편함을 느낄 것이다.
'알아두면 좋은 IT 지식 > General' 카테고리의 다른 글
WSL2 Docker CentOS 컨테이너 초기세팅 및 이미지 만들기 - 무작정 따라하기 (2) (1) | 2024.01.01 |
---|---|
WSL2 Docker Desktop CentOS 컨테이너 생성 - 무작정 따라하기 (1) (4) | 2023.12.30 |
[IT] PUTTY 200% 활용하기 (글씨색 등 설정 값 registry파일로 바로 적용) (0) | 2022.08.30 |
[IT] VirtualBox (Oracle VM) 네트워크 설정 방법 (0) | 2022.08.16 |
WebService란? 웹서비스란? (0) | 2022.05.27 |