현재는 메모장을 사용하여 편집을 많이 하기 때문에 vi에디터의 사용은 메모장을 사용하는 것에 비하면 많이 번거로운 작업이지만 vi에디터를 사용하기 전에는 문서를 편집하기 위해서는 한줄씩 줄단위로만 편집이 가능했다고 한다.
vi에디터는 파일단위로 작업을 하기 때문에 작업할 문장 전체가 눈에 들어와서 전보다 작업하기가 편해 vi에디터가 나왔을 당시에는 사용하기 편리한 에디터라고 각광을 받았다고 한다.
그 시절의 사람들에게는 vi에디터는 정말 편리한 에디터일지는 모르겠지만 메모장으로의 작업에 익숙한 나로서는 vi에디터가 편리하다는 말에 잘 공감이 가지 않는 부분이기도 하다.
vi 실행
# vi 파일명
vi 모드
- 명령모드 -> h,j,k,l(왼쪽, 아래, 위, 오른쪽 이동), gg,G(문서 맨 처음이나 아래로 이동), nG(n 라인으로 이동), ^f, ^b, ^d, ^u(화면단위 이동), x(글자 삭제), dd(라인 삭제), dw(단어 삭제), D(커서 뒷부분 삭제)
- 입력모드
- 실행모드 -> :wq(저장 후 종료), :q!(저장하지 않고 종료), :w[파일명](지정한 파일명으로 내용 저장)
명령모드 -> 삽입모드
- -i : 커서 위치부터 입력
- -a : 커서 다음칸에 입력(오타를 유발할 수 있으므로 잘 안씀)
- -o : 커서 아래 새로운 라인을 삽입하고 입력
- -I : 커서가 위치한 라인 맨 앞에 입력
- -A : 커서가 위치한 라인 맨 뒤에 입력
명령모드 -> 실행모드
- :
삽입, 실행모드 -> 명령모드
- Esc
검색
- /[문자열]
- n (검색상태에서 순방향으로 재 검색, /와 동일)
- N
환경 설정
:set [환경변수] [값]
- nu (라인번호 표시)
- sm (반대 괄호 표시)
실습

echo 명령어를 사용하여 heelo를 a.txt로 출력하여 a.txt를 생성했다.
heelo를 vi에디터를 사용하여 hello로 수정해 보려고 한다.
vi [파일명]을 입력하여 vi편집모드로 들어간다.
vi에디터는 3가지 모드로 나뉘는데 명령모드, 입력모드, 실행모드 이렇게 3가지로 나뉜다.
처음 vi편집 모드로 진입을 하면 명령모드로 들어가게 된다.

vi a.txt를 입력하여 vi에디터로 들어갔다.
여기서 바로 i를 눌러 입력모드로 들어가서 글자를 수정하는 것이 가능하지만 이것은 리눅스에서 제공하는 편리성이지 유닉스 환경에서는 backspace와 delete키가 먹히지 않는다고 한다.
유닉스 환경에서의 작업도 생각을 해야하기 때문에 backspace와 delete키가 먹히지 않는다는 가정 하에 실습을 진행 해 보려고 한다.
오타를 정정하기 위해서는 명령모드에서 수행을 한다.

명령모드에서 x를 입력하여 글자를 하나 지웠다.
x는 delete와 같은 수행을 했다.

다음은 dd를 입력하여 행 전체를 지워보았다.

i를 눌러 입력모드로 들어가서 hello로 입력

vi에디터의 기능중에 검색기능을 사용해 보기 위해 입력모드에서 막 생각나는대로 입력해 봤다.
검색기능을 사용하기 위해서는 esc를 눌러 입력모드에서 명령모드로 나온 후에 /[문자열] 을 입력하여 검색을 하는데 /를 누르면 위와같이 맨 아래줄로 이동하게 된다.
/hello를 입력해 보니 hello가 있는 열로 이동하며 알아보기 쉽게 색깔로 표시가 되는것을 확인할 수 있었다.

다음은 라인 번호를 표시하기 위해 환경 설정을 해 보았다.
환경 설정은 실행모드에서 실행한다.
set nu를 입력하면 위와같이 라인번호가 표시되는것을 확인할 수 있었다.
이 기능은 수정할 문단을 빠르게 찾는데 편리할 것 같다.

:wq를 입력하여 저장후 종료
'Linux' 카테고리의 다른 글
Authoritative DNS 서버 구축(책임 DNS 서버) (0) | 2020.04.23 |
---|---|
DNS 서버 (0) | 2020.04.23 |
RSYNC (0) | 2020.04.13 |
CRON (0) | 2020.04.13 |
Linux 기본 명령어 공부 (0) | 2020.04.07 |