본문으로 바로가기

vi(m) 편집기

category 개발도구/에디터 2013. 6. 9. 01:48

CentOS 6.4 Minimal에서는 vi 편집기가 vim-minimal-7.2.411-1.8.el6.x86_64 가 설치되어 있다.

vi(m) 편집기 - vi improved

vi-minimal, vi-common, vi-enhanced 를 설치하면 vi(m)의 확장된 많은 기능을 사용할 수 있다.

윈도우용은 http://www.vim.org에서 다운 받는다.

vi(m) Mode

command mode)

처음 파일을 오픈하면 명령을 대기하는 모드

다른 모드에서 ESC를 누르면 명령어 모드로 전환된다.


Insert mode)

i, a, o, O 등을 입력하면 입력모드로 전환된다. 페이지 하단에 --INSERT-- 와 같이 표기된다.


Visual mode)

블록 선택을 위해서 v 또는 <Ctrl-V>키를 누른 상태

입력하기

내용을 커서 뒤에 추가    -    a

내용을 커서 앞에 삽입    -    i

커서 아래에 새 라인 추가    -    o

커서 위에 새 라인 삽입    -    O

Undo / Redo

명령어 모드에서 사용한다.

이전으로 돌아가기    -    u

이전으로 돌린것을 다시 처음으로    -    <Ctrl-r>

커서 이동하기

커서 이동을 위해서 화살표 키를 이용

삭제

커서 위치의 글자 삭제    -    x 혹은 dl 혹은 Delete 키

한 단어 삭제    -    dw

커서 위치부터 행의 처음까지 삭제    -    d0

커서 위치부터 행의 끝까지 삭제    -    D 혹은 d$

커서가 있는 행 전체를 삭제    -    dd

커서가 있는 행과 그 다음 행을 삭제    -    dj

커서가 있는 행과 그 앞 행을 삭제    -    dk

복사와 붙여넣기

커서 위치부터 단어의 끝까지 복사    -    yw

커서 위치부터 두 단어 복사    -    y2w

커서 위치부터 줄의 처음까지 복사    -    y0

커서 위치부터 줄의 끝까지 복사    -    y$

커서가 있는 줄을 복사    -    yy

커서가 있는 줄 아래로 두 줄을 복사    -    2yy

커서가 있는 줄과 그 다음 줄을 복사     -    yj

커서가 있는 줄과 그 앞줄을 복사    -    yk

현재 위치에서 파일의 끝까지 복사    -    yG

커서의 다음 위치에 붙여넣기    -    p

커서가 있는 위치에 붙여넣기    -    P

블록단위

v 키를 사용하여 블록단위로 선택하고 y 키를 눌러 복사하고 원하는 위치에서 p키를 눌러 붙여넣기한다. 그리고 <Ctrl-v>키를 이용해 라인 단위가 아닌 블록단위로 선택할 수 있다.

블록 지정시 사용하는 단축키

대소문자 전환    -    ~

복사    -    y

삭제    -    d

치환    -    c

행 앞에 탭 삽입    -    >

행 앞에 탭 제거    -    <

선택 영역에 대해 명령어 모드    -    :

행을 합침    -    J

대문자로 변환    -    U

소문자로 변환    -    u

파일 열기와 저장하기

불러오기    -    :e filename

끼워넣기    -    :r filename

저장하기    -    :w

새 이름으로 저장    -    :w filename

끝내기    -    :q

저장없이 강제 종료하기    -    :q!

저장하고 끝내기    -    ZZ 혹은 :wq

강제로 저장하고 끝내기    -    :wq!

전체 검색 및 치환하기

문자열 검색)

/찾을 문자열

/min    


?찾을 문자열    // 위쪽 방향으로 찾기

?min

문자열을 찾은 후에 n 키를 입력하면 아래 방향으로 다시 찾고 N 키를 입력하면 위쪽 방향으로 찾는다.


치환하기)

:시작위치,마지막위치s/찾는문자열/바꿀문자열/선택사항

:%s/min/Min/g

%s는 파일의 마지막까지 찾는것이고 /g는 한 라인에 'min'이 여러번 나와도 모두 치환된다.

1,$는 라인의 첫번째 문자부터 마지막 까지이다.

여러가지 파일 동시에 편집

# vi file1 file2 file3

여러개의 파일을 불러 들였을 경우, vi가 실행된 후에 다음 파일 편집을 위해서 :n을 사용하면 다음 파일을 불러들일 수 있다.

쉘 명령어 사용하기

편집중에 쉘을 이용한 명령어를 사용할 수 있다.

:!ls -la

약어 사용하기

약어를 사용하기 위한 명령어에는 ab 명령이 있다.


약어 설정)

:ab ily i love you

약어로 정한 ily를 편집시에 입력하면 자동으로 변환된다.


약어 확인)

:ab


약어 해제)

:una ily

매크로 사용하기

여러개의 기능키나 명령을 매크로로 정의하거나 다른 키로 바꾸고 싶을 때 'map' 명령을 사용한다.


매크로 설정)

:map q :wq!^M

명령어모드에서 q를 입력하면 ':wq!'를 입력한 것과 같은 효과를 만들 수 있다. ^M을 입력할때는 <Ctrl-V><Ctrl-M>이라고 입력하면 엔터를 입력한 것과 같은 효과를 줄 수 있다.  


매크로 확인)

:map


매크로 삭제)

:unmap q

여러개의 편집창 사용하기

현재의 편집창을 세로로 분리

:vs filename


현재의 편집창을 가로로 분리

:sp filename


각각의 창들은 <Ctrl-w> 키를 2회씩 입력하면 토글되어 다음 창으로 커서가 이동된다.

모든 창을 빠져나오려면 :q! 또는 :close 를 입력한다.

환경설정 

vi를 사용할때 환경설정 파일은 .exrc 이고 vim은 .vimrc 이다.


# 문법 하이라이트

syn on


# 들여쓰기

set ai


# 행 번호 매기기

set number


# 탭 크기 설정

set tabstop=4


set si

set shiftwidth=4


문단 및 조판 부호 보기    -    :set list

문단 및 조판 부호 제거하기    -    :set nolist

화면당 행의 개수 지정하기    -    :set window=number 혹은 :set w=number

전체 환경 설정보기    -    :set all

대소문자 구별 없음(검색할 때)    -    :set ignorecase

대소문자 구별(검색할 때)    -    :set noignorecase

'개발도구 > 에디터' 카테고리의 다른 글

nano - 유닉스 에디터  (0) 2013.09.13