본문 바로가기

Linux and Unix

AIX 4.3에 포함된 vi의 환경설정값들

아래의 옵션들은 vi 내부에서만 작동하며, 홈디렉토리의 .exrc 파일에 설정하여 사용할 수 있다. 만약 .exrc 파일이 홈디렉토리에 없다면, 새로 생성해서 원하는 설정값을 입력하고, 저장한 후에 vi를 실행시켜 본다.

vi에서 설정할 수 있는 값을 확인 하고 싶다면, vi 편집기를 열어 놓은 상태에서 :set 라고 입력하면 현재 설정된 값을 모두 보여준다. 그리고 설정할 수 있는 옵션들을 보고 싶다면, :set all이라고 입력한다.

원래는 아주 길게 설명된 것들이지만, 간단하게 알아먹을 만큼만 적는다. 이해가 되지 않는다면, vi 매뉴얼을 펼쳐보기 바란다. (man vi)


autoindent (ai) : 자동 들여쓰기. 만약 자동 들여쓰기가 된 위치에서 자동 들여쓰기를 적용하지 않으려면, Ctrl+D 를 누르면 된다. 기본값은 noai

autoprint (ap) : 기본값은 ap

autowrite (aw) : 다른 화일로 옮겨갈 명령을 실행하기 전 또는 쉘로 잠시 나오기 전에 현재 화일을 강제로 저장. 기본값은 noaw

beautifying text (bf) : 기본값은 nobf

closepunct= (cp=) : 각각의 문장을 종료하는 구두점을 설정한다. 기본값은 cp='".,;)]}

directory= (dir=) : 편집용 버퍼가 저장될 디렉토리를 설정한다. 기본값은 dir=/var/tmp

edcompatible (ed) : 기본값은 noed

errorbells (eb) : 실수를 한 경우 Beeps 음을 울린다.(모든 터미날에서 되는 것은 아니다.)

exrc (exrc) : vi를 실행하는 동안 현재 디렉토리에서 exrc 파일을 읽어 올것인가를 설정한다. 설정하지 않으면 $HOME 디렉토리에서 읽게된다. 기본값은 noexrc

hardtabs= (ht=) : 하드웨어적인 탭의 위치를 설정한다. 기본값은 ht=8

ignorecase (ic) : 검색과 바꾸기시 대소문자 구분을 무시한다. 기본값은 noic

linelimit= (ll=) : 한 라인의 최대 문자수를 설정한다. 이 옵션은 .exrc 파일과 EXINIT명령을 통해서만 설정된다. 기본값은 ll=1048560

lisp (lisp) : lisp 포맷에 맞게 (), {}, [[, ]]의 특수한 의미는 없애고, 정규식에 맞는 = 기호를 사용가능하게 한다. 기본값은 nolisp

list (list) : 탭(^I)문자와 EOL($) 문자를 보여준다. 기본값은 nolist

magic : 모든 정규식 문자를 사용할 수 있게 함. 기본값은 magic

mesg : 문서 편집 동안 메시지가 화면에 출력되는 것을 허용. VI가 발생하는 이외의 메시지도 화면에 표시한다.

modeline : 기본값은 nomodeline

novice :

number (nu) : 줄 번호를 표시, 기본값은 nonu

optimize (opt) : 기본값은 noopt

paragraphs= (para=) : 편집 텍스트 중 단락의 구분을 나타내는 문자조를 설정한다. vi는 이것에 의해 설정된 문자로 둘러싸인 블록을 하나의 단락으로 인식하여 문자조의 사이를 }과 {으로 이동시킬 수 있다. 이 이동에서는 섹션으로 설정된 문자조도 단락으로 간주한다. 기본값의 설정에서는 .IP, .LP, .PP, .P, .LI, .pp, .lp, .ip, .bp 10개의 문자조가 설정되어 있다. 기본값은 para=IPLPPPQPP LIpplpipbp

partialchar= (pc=) : 기본값은 partialchar=-

prompt : vi가 명령어 모드로 전환 되었을 때 : (colon) 출력 여부를 설정, 기본값은 on

readonly (ro) : 편집 화일을 write 금지 상테에서 read한다. 예외로서, `w!'를 실행했을 경우는 강제적으로 write된다. 기본값은 noro

redraw (redraw) : 편집에서의 삭제, 삽입시에 화면을 refresh한다. noredraw(초기설정값)일 때에 삭제, 삽입을 하면 공백은 @표 표시되며 재표시되지 않는다. redreaw로 설정할 때는 통신 속도가 빠른 상태가 아니면 재표시를 하기 위하여 반응이 둔해지므로 주의해야 한다. 기본값은 nore

remap : :map으로 치환된 문자/명령어를 :map에서 다시 다른 문자/명령어로 등록하는 것을 허가한다. 기본값은 on

report= (re=) : 변경/삭제/대피에 의해 영향받았던 행수가 지정차를 초과하였을 경우, 화면 하단에 그 행수를 표시한다. 기본값은 re=5

scroll= (scr=) : [Ctrl]+[Ctrl] [Ctrl]+[u]로 스크롤할 행수를 설정한다. 기본값은 윈도우 크기의 1/2, scr=21

sections= (sect=) : paragraphs의 단락에 대해서 섹션은 절을 구획짓는 문자를 설정한다. 절 사이의 이동에는 [과 ]을 사용한다. 이 때 paragraph로 설정된 문자조를 단락으로 간주하지 않는다. Default로는 NH, .SH, .H, .HU, .us, .sh, .+c 의 7문자조가 설정되어 있다. 기본값은 sect=NHSHH HUuhsh+c

shell= (sh=) : 기본값은 로그인 쉘 (sh=/usr/bin/ksh)

shiftwidth= (sw=) : 백워드 탭의 크기 지정, 기본값은 sw=8

showmatch (sm) : ) 와 }이 나왔을때, 매칭되는 (와 {으로 이동. 매칭되는 것이 없을 때 에러 메시지 발생. 프로그래밍시 유용, 기본값은 nosm

showmode (smd) : 화면 우측 아래에 현재의 vi mode를 표시한다. 기본값은 nosmd

tabstop= (ts=) : 탭키를 눌렀을때 이동하는 크기를 지정, tab키 공간지정, 기본값은 ts=8

tags= (tags=) : 기본값은 tags=tags /usr/lib/tags

term= (term=) : 기본값은 term=$TERM

terse (terse) : 짧은 에러 메시지 표시, 기본값은 noterse

timeout (to) : 기본값은 to

ttytype= : 단말기로 사용할 tty 형식을 지정한다. vi 에디터 내에서는 값 수정이 불가능하다.

warn (warn) : 편집에서 변경한 내용을 기록하지 않은 상태에서 `:!'로 시작되는 명령을 실행하였을 때에 `NO write since last change'라는 경고 메시지를 표시하도록 한다. 기본값은 warn

window= (wi=) : 기본값은 wi=43

wrapmargin= (wm=) : 오른쪽 마진을 설정한다. 설정한 마진수를 초과하면 화면이 옆으로 밀리지 않고 리턴으로 개행된다. 0(초기설정치)를 설정하면 이 기능을 OFF로 한다. 기본값은 wm=0

wrapscan (ws) : vi가 매번 화일 전체를 검색하도록 한다. 검색은 항상 현재 행부터 시작해서 화일의 끝으로 진행된다. 기본값은 ws

wraptype (wt=) : 각 라인의 끝에서 자동 줄바꿈을 하기 위한 방법을 지정한다. 아래 4개중 하나의 값을 가진다.

genernal :

word :

rigid :

flexible :

writeany (wa) : 편집한 내용을 화일에 기록할 때의 vi에 의한 안전 체크를 해제한다. 기본값은 nowa


set laststatus=2 : 현재 작업중인 파일명을 항상 표시하기

map x sequence : x를 타이핑 하면 sequence로 정의된 명령을 수행



아래는 프로그래밍 하기에 유용한 설정이라고 한다.


set tabstop=4

set hardtabs=4

set number lisp autoindent sw terse

set showmatch

"map q :w^M:n^M (여기서 ^M 은 Ctrl+V,M 임)

"map v deElp

map! ^[[A ^[[ka

map! ^[[B ^[[ja

map! ^[[C ^[[ha

map! ^[[D ^[[la