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 |
---|