본문 바로가기

OS/Linux

[리눅스] 문서 편집기 Vi Vim ( Vi IMproved) 명령어

Linux 나 Unix 환경설정에서는 Config 파일을 문서 편집기(Editor)를 이용하여 수정 편집 하곤 합니다.

MS는 기본으로 워드패드나 메모장이 제공되는데 text 편집을 자주 하는 분들은 별도의 편집 툴을 추가 설치하여 사용하실 겁니다.

개발자에게는 필수인 이 Editor 중에서 예전부터 리눅스나 Unix에서 기본 사용되어진 편집기가 있습니다. 바로 Vi편집기 인데

요즈음은 Vim 편집기도 기본 탑재 입니다.

Vi 편집기에 비해 Vim 편집기는 색상으로 비쥬얼과 빠른 시인성을 높였으며 기타 몇몇 기능이 상향되어진 편집기입니다.

오늘은 Vi 편집기와 Vim 편집기... 저처럼 간혹 사용하려고 할때 간간히 혼동되는 옵션 기능이 있어서 공통으로 사용되어지는

옵션 or 명령어를 정리 해 볼까 합니다.

우선 Vim 편집기는 (Vi IMproved) 로써 Vi 편집기 보다 그 기능을 높였습니다. 저도 요즈음은 Vim 이 더 편합니다.

CUI 용 Vim 과 GUI용 gVim 이 있습니다. Command 창에서는 CUI 용 vim 을 이용하고 Xwindow 에선 gVim 을 이용하시면 됩니다.

아래는 터미널에서 vim 을 실행하여 띄운 화면입니다.



그러나 Vi 건 Vim 이건 간에 기존 아래의 옵션을 알고 종종 사용해서 익숙해져야 빠른 편집을 완성할 수 있습니다.

다른 블로거님들의 자료를 취합하여 제 위주로 많이 사용하는 명령어를 정리 해 보았습니다.

Vi 편집기나 Vim 편집기나 아래의 옵션 설명을 이해하고 몇번 작업을 하다보면 나름 익숙해 질 것입니다.

대부분의 개발자는 별도의 편집툴들을 이용하기때문에 Vi 나 Vim 편집기는 개발자보단 시스템 관리자가 System Config

변경시 종종 이용하는 툴이라 생각되어집니다.

자주 사용되어지는 것은 잘 알고 있으나 이 포스팅 작성하며 찾아보았더니 몰랐던 옵션 기능들도 여럿 있네요.

나름 정리해서 필요한 명령들만 담아 놓고 필요시 꺼내 보렵니다.^^

Command 창에서 사용되어지는 명령 옵션..

# or $ 에서 vi file명 만 쳤었는데 이런 옵션들이 있었군요.

1. 명령 행 옵션

명령 옵션

동작

vi file

file 을 연다

vi file1 file2

file1 과 file2를 차례로 연다

view file

file 을 읽기 모드로 연다

vi -R file

file 을 읽기 모드로 연다

vi + file

file 을 열때 커서가 file 본문의 마지막 행에 위치한다

vi +n file

file 을 열어 n행에 위치 한다

vi 편집기 내에선 insert 키로 편집 모드와 명령모드 또는 읽기 모드로 변경 할 수 있습니다.

2. vi 명령어

명령어

동작

n l

현재 커서가 위치한 행에서 n 번째 행으로 이동 (n line)

dw

현재 커서가 위치해 있는 단어 삭제

dd

현재 행 삭제

d

현재 커서가 위치해 있는 단어 복사

yy

현재 행 복사

nyy

현재 행을 기준으로 n번째 행까지 n행 복사

p

삭제나 복사한 행 또는 단어를 커서 뒤에 삽입

P

삭제나 복사한 행 또는 단어를 커서 앞에 삽입

/name

name 검색하여 name위치에 커서 이동

set nu (set number)

각 행마다 번호를 부여

set nonu (set nonumber)

각 행에 부여된 번호를 제거

.

바로 전에 실행한 명령어 재 실행

vi 명령어는 위 이외에도 무수히 많으나 자주 사용하고 필요한 것을 골라 손에 익혀 사용해야 합니다.

저는 위에 것만 주로 사용하게 되어서 추려서 몰려 놓았습니다.

insert key로 입력 화면에서 위의 편집 명령어를 사용하였으면 ESC key를 눌러 일반 모드로 빠져 나옵니다.

그 뒤에 종료 옵션 명령어 입니다.

3. vi 종료 옵션

명령어

동작

ZZ

파일 저장 후 종료

:x

파일 저장 후 종료 (위와 같음)

:wq

파일 저장 후 종료 (위와 같음)

:w

파일 저장

:w!

강제 파일 저장

:q

저장 없이 종료

:q!

저장없이 강제 종료

사용자의 필요에 따라 추가 필요한 사항이 있을 수 있습니다.

다른 블로거님들의 자료를 참조하시어 자신에 필요한 Vi (Vim) 편집 명령어를 숙지하시어 빠른 편집 실행을 하시길....

[출처] 문서 편집기 Vi Vim ( Vi IMproved) 명령어|작성자 삼바









===================================================================================

※ vi


- 유닉스 또는 리눅스 계열의 에디터

(텍스트 모드에서 사용)

※ gedit


- 윈도우즈의 메모장과 비슷한 그래픽 에디터

(그래픽 모드에서 사용, vi도 사용 가능)

※ vi의 세가지 상태


① 명령 상태(명령 모드)
- 명령을 수행하는 상태로 vi 실행 후 ESC키로 명령상태로 전환.


② 입력(편집) 상태(입력 모드)
- 텍스트를 편집하는 상태로 명령상태에서 i, a, o 등의 키를 입력하여 전환.

③ 콜론 상태(ex모드, 라인명령모드)
- 저장하거나, 종료 등을 하며 명령상태에서 : (콜론)키를 입력하여 전환.

입력 모드 전환


- i : 현재 커서의 위치부터 입력
- a : 현재 커서의 위치 다음 칸부터 입력
- o : 현재 커서의 다음 행에 입력
- s : 현재 커서 위치의 한 글자를 지우고 입력
- I : 현재 커서 행의 맨 앞에서부터 입력 ( "L" 아닙니다! )
- A : 현재 커서 행의 맨 마지막부터 입력
- O : 현재 커서의 이전 행에 입력
- S : 현재 커서의 한 행을 지우고 입력


커서 이동


- h : 커서를 왼쪽으로 한 칸 이동 ←
- k : 커서를 위로 한 칸 이동 ↑
- Ctrl + F : 다음 화면으로 이동 (Page Down)
- ^ : 현재 행의 처음으로 이동 (Home)
- gg : 제일 첫 행으로 이동
- 숫자 G : 해당 숫자의 행으로 이동
- j : 커서를 아래로 한 칸 이동 ↓
- l : 커서를 오른쪽으로 한 칸 이동 →
- Ctrl + B : 이전 화면으로 이동 ( Page UP)
- $ : 현재 행의 마지막으로 이동(End)
- G : 제일 끝 행으로 이동
- : 숫자 엔터 : 해당 숫자의 행으로 이동


복사, 삭제


- x : 현재 커서가 위치한 글자 삭제 (Del)
- dd : 현재 커서의 행 삭제
- yy : 현재 커서가 있는 행을 복사
- p : 복사행 내용을 현재 행 이후에 붙여 넣기
- X : 현재 커서가 위치한 앞 글자 삭제
- 숫자 dd : 현재 커서부터 숫자만큼의 행 삭제
- 숫자 yy : 현재 커서부터 숫자만큼의 행을 복사
- p : 복사한 내용을 현재 행 이전에 붙여 넣기

문자열 찾기


- /문자열 엔터 : 해당 문자열을 찾음(현재 커서 이후로)
- n : 찾은 문자 중에서 다음 문자로 이동함


기타


- u : 실행 취소
- Ctrl + r : 다시 실행