본문 바로가기

OS/Linux

#04. Vim Editor

이번 소개에서는 vim편집기에 대해서 소개해드리겠습니다.

vim편집기는 linux에서 파일의 내용을 편집할때 쓰이는 편집기입니다.

vim을 잘다루어야 파일의 내용도 빠르고 쉽게 편집할수있으니 잘알아두세요!


vim editor에서는 3가지의 모드(명령모드, 입력모드, 실행모드)가 존재합니다.

각 모드에서 쓰이는 단축키들이 다르기때문에 많은 연습으로 익히는방법이 제일 좋은 방법이에요. 각 모드의 단축키에 대해서 소개해드릴께요.



1.명령모드

vim의 기본모드 입니다. 입력모드나 실행모드에서 Esc를 눌러 명령모드로 전환이 가능해요.

명령모드에선 커서이동, 문자열수정 그리고 복사&붙여넣기의 역활을 수행합니다.


커서이동 단축키

h 커서왼쪽이동

l  커서오른쪽이동

j 커서위로이동

k 커서아래로이동

* 방향키로도 커서이동이 가능하지만 되도록이면 위에 4가지 키로 하시는게 좋습니다.


단어 기준 커서이동

b 단어 첫글자으로 이동

e 단어 끝글자로 이동

w 다음 단어 첫글자로 이동


행 기준 커서이동

0(zero) 행 첫글자로 이동

$         행 끝글자로 이동


문서 기준 커서이동

gg 문서 첫글자로 이동

G  문서 끝글자로 이동



삭제 단축키

x 현재 커서에있는ㄴ 문자 삭제

dd 현재 커서가있는 행 삭제

숫자 + dd 현재 커서가있는 행부터 숫자 만큼의 행 삭제


복사 단축키

yy 현재 커서가있는 행 복사

숫자 + yy 현재 커서가 있는 행부터 숫자 만큼의 행 복사


*삭제/복사(d,y) + 커서이동 단축키:    이동한만큼 삭제/복사


붙여넣기 단축키

P(대문자) 현재커서 이전에 붙여넣기

p(소문자) 현재커서 이후에 붙여넣기



간단히 단축키들의 사용법을 vim editor에서 직접 사용해보겠습니다.

연습용으로 /etc/passwd 의 파일을 /practice/vimPrac이라는 이름으로 복사했습니다.

*절대 /etc/passwd 원본파일로 연습하지마세요.




vim editor로 진입하는 방법입니다. 



vim editor를 실했시켰습니다. 이런식으로 편집기가 뜨네요. 지금 위에 모드는 명령모드입니다. vim을 처음으로 실행했을시 명령모드가 기본모드이기때문에 명령모드부터 시작을하죠. 그럼 위에서 소개시켜 드린 단축키들로 일단 커서이동부터 해보시길바랍니다.



간단하게 root라는 단어를 복사해서 행의 마지막부분에 붙여넣기를 해보겠습니다.



위에 소개시켜드린 단축키들로 해보았습니다.

먼저 root의 r에 커서가 있는 상태y + e를 합니다. y는 복사를, e는 단어끝으로 커서이동 단축키입니다. 이런식으로 복사/삭제 단축키 + 커서이동을 하게 되면 이동한만큼 복사/삭제가 됩니다. 그후 $를 입력해 bash의 h로 커서를 이동시킵니다. 그후 저흰 bash이후에 복사한 단어를 붙일거기 때문에 대문자P가 아닌 소문자p를 입력합니다. 그럼 위에 사진처럼 복사가되네요.


이번엔 bashroot를 지워보도록 하겠습니다.



b를 눌러 bashroot의 b로 커서이동을 합니다. 그후 d + e를 하여 커서가 이동한만큼 문자들을 지우는 겁니다. e는 문자 끝으로가는 커서이동 단축키이기때문에 문자(bashroot)가 지워지는거죠.



2.입력모드

입력모드는 내용을 입력 수있게 해주는 모드입니다. 입력모드로 진입하게되면 하단에 INSERT라는 문구가 뜹니다. 다시 명령모드 진입은 Esc로.


명령모드 > 입력모드 단축키

i 현재 커서에서 입력모드 진입

a 현재 커서오른쪽으로 한칸이동후 입력모드 진입

o 현재 커서아라에 새로운행 추가후 입력모드 진입

s 현재 커서의 문자를 지우고 입력모드 진입


I(대문자 i) 현재 커서의 행 첫글자에서 입력모드 진입

A             현재 커서의 행 끝글자에서 입력모드 진입

S             현재 커서의 행을 지우고 입력모드 진입



첫행 끝글자(/) 에 커서가 위치한채 a를 눌러 커서를 오른쪽으로 한칸이동후 입력 모드진입



3.실행모드

실행모드에선 vim설정,단어검색/변경,저장,종료 등의 수행을합니다.


명령모드 > 실행모드 단축키

/[패턴] 패턴으로 단어 검색

>n 단축키: 단어 검색후 아래방향으로 계속 찾기

>N 단축키: 단어 검색후 위방향으로 계속 찾기


:[범위]s/[검색할단어]/[치환할단어]/[옵션]         단어 치환

>[범위]: %(문서전체) n(n줄만) n,m(n~m줄만)

>[옵션]: g(검색된 단어 모두 치환), 없을시(검색된 첫번째만 치환)

>[옵션]: c(단어 치환시 물어보기),  없을시(물어보지않고 치환)


:![명령어]    vim을 잠시 중단후 명령어 실행

:.![명령어]   명령어 결과/출력을 vim으로 붙여넣기


split[[오픈할파일경로]] 수평으로 vim창을 하나더추가

vs[[오픈할파일경로]] 수직으로 vim창을 하나더추가

>ctrl + ww: 창간의 이동


:w     파일저장

:q      vim종료(저장없이 종료, 변경된 내용이있을시 에러표시)

:q!     vim강제종료(저장없이 종료, 변경된 내용이있어도 강제종료)

:wq   vim저장후 종료(쓰기 권한이 없을경우 에러표시)

:wq!  vim저장후 강제종료(쓰기 권한이 없어도 저장후 강제 종료)


root 단어검색


첫번째 행에서 root를 찾아 toor로 전부 치환


:split [/practice/vimPrac2]로 /practice/vimPrac2파일 vim창 수평으로 하나더 추가

(ctrl + ww 창간 이동, :q로 선택된 창 종료)


설정

:set ts=숫자        tabsize조절

:set nu                행번호표시

:set nonu            행번호표시 비활성

:set nohl              하이라이트표시 비활성

:set ic                  대문자구별 무시

:set noic              대문자구별

:숫자                    숫자행으로 이동



:set nu로 행번호 표시


:10으로 10번째 행으로 커서이동



이상으로 vim editor소개를 마칠께요. 단축키들이 너무 많이 기억하기 힘드시겠지만 계속해서 연습하시면 손에 익어 자연스럽게 편집이 가능하실겁니다^^ 다들 연습 많이하세요.


'OS > Linux' 카테고리의 다른 글

#06. Standard I/O Redirection  (0) 2012.09.10
#05. shell, 변수  (0) 2012.09.10
#03. Linux의 기초명령어  (0) 2012.09.08
#02. CentOS에 VMwareTool 설치  (0) 2012.09.07
#01. VMware 가상머신에 CentOS5.8 설치  (4) 2012.09.07