[[TableOfContents]] == vi (visual interface) editor == vi[뷔아이]는 광범위하게 사용되는 유닉스 기반의 유명한 텍스트 편집기이다. 대부분의 유닉스 시스템 인터페이스 및 다른 텍스트 편집기들과 마찬가지로, vi는 사용자가 시스템을 제어하기 위해 키보드를 사용한다. vi의 간결한 인터페이스는, 프로그래밍 언어를 입력하거나 수정하느라 하루종일 컴퓨터 앞에서 일해야하는 사람들, 특히 프로그래머들에게 매우 인기가 높다. vi는 Emacs가 나오기 전에 개발되었는데, Emacs는 vi의 인기 있는 대안으로서, 더 많은 기능을 가졌으며, 좀더 복잡하고, 속도가 다소 느린 텍스트 편집기이다. vi는 프로그래밍 언어를 입력하고 편집하는데, 그리고 전자우편을 포함해 짧은 글을 쓰는데, 가장 일반적으로 사용된다. vi는 대개 유닉스 시스템의 일부로 따라 나온다. ─ [http://www.terms.co.kr/vi.htm 텀즈] == 기본적인 조작 및 명령 == === 대기모드 === || 키 || 기능 || 키 || 기능 || || h ||{{{{color:red}왼쪽으로 이동}}} || b ||한단어 뒤로 이동 || || j ||{{{{color:red}아래로 이동}}} || B ||특수문자, 기호 제외 한단어 뒤로 이동 || || k ||위로 이동 || w ||한단어 앞으로 이동 || || l ||오른쪽으로 이동 || W ||특수문자, 기호 제외 한단어 앞으로 이동 || || o ||라인의 시작으로 이동 || G ||{{{{color:red}파일의 마지막 행으로 이동}}} || || $ ||{{{{color:red}라인의 끝으로 이동}}} || + ||다음 라인의 처음으로 이동 || || ^ ||라인의 첫번째 단어로 이동 || - ||이전 라인의 처음으로 이동 || || H ||{{{{color:red}화면의 맨위로 이동}}} || ^F ||{{{{color:red}한 화면 앞으로 이동}}} || || M ||{{{{color:red}화면의 중간으로 이동}}} || ^D ||한 화면의 반만큼 앞으로 이동 || || L ||{{{{color:red}화면의 끝으로 이동}}} || ^B ||{{{{color:red}한 화면의 뒤로 이동}}} || || / ||/[keyword] 검색([정규표현식]) || ^U ||한 화면의 반만큼 뒤로 이동 || === 입력/편집 모드 === || 키 || 기능 || 키 || 기능 || || i ||{{{{color:red}현재 문자 앞에서부터 입력}}} || dw ||한 단어 삭제 || || I ||현재 문장 앞에서부터 입력 || dd ||{{{{color:red}한 라인 삭제}}} || || a ||현재 문자 뒤에서부터 입력 || cw ||한 단어 바꾸기 || || A ||현재 문장 뒤에서부터 입력 || x ||{{{{color:red}한 문자 삭제}}} || || o ||행의 아래에 입력 || v ||{{{{color:red}복사 범위 지정}}} || || O ||행의 위에 입력 || y ||{{{{color:red}문자 복사}}} || || r ||곂쳐쓰기 || p ||{{{{color:red}현재 줄 다음에 버퍼의 내용을 붙임}}} || || R ||현재문자 이후부터 겹쳐쓰기 || P ||현재 줄 앞에 버퍼의 내용을 붙임 || || || || u ||{{{{color:red}취소}}} || === 명령모드 === || 키 || 기능 || || :O ||문서의 맨 앞으로 이동 || || :$ ||문서의 맨 뒤로 이동 || || :set number ||행에 번호 부여 || || :set nonumber ||행에 부여된 번호 제거 || || :set (option) ||아래 참조 || || :ZZ or :wq ||저장하고 vi 에디터 종료 || || :w [filename] ||주어진 파일 이름으로 저장 || || :w! [filename] ||주어진 파일 이름으로 저장/덮어쓰기 || || :q ||저장하지 않고 vi 에디터 종료 || || :q! ||저장하기 않고 vi 에디터 강제종료 || || :e ||vi 에디터 종료하지 않고 다른 파일 편집 || || :e! ||편집한 내용 저장하지 않고 최종 저장된 상태로 파일 열기 || == 옵션 == /root/.vimrc {{{ set tabstop=2 탭 간격을 2칸으로 지정한다. set shiftwidth=2 >>나 << 사용시 들여쓰기 간격을 지정한다. set expandtab 탭 문자를 공백문자로 변환한다. set softtabstop=2 탭 간격을 공백문자로 변환하면 삭제할 때 탭 간격만큼 삭제하지 않고, 마치 탭 문자를 삭제하는 것처럼 설정하며, 두 칸 단위로 삭제한다. set visualbell 사용자 실수를 경고할 때 비프음 대신에 화면을 한 번 번쩍이는 비주얼 벨로 경고한다. set nobackup 백업 파일을 생성하지 않는다. set cindent C 언어 스타일의 들여쓰기를 사용한다. set autoindent 자동 들여쓰기를 사용한다. set smartindent 좀 더 지능적인 들여쓰기를 사용한다. set enc=euc-kr 인코딩을 한글로 지정하낟. 한글을 삭제할 때 한글 글자 단위로 삭제할 수 있다. set incsearch 키워드를 입력할 때마다 검색하는 점진 검색( incremental search)을 사용한다. set number 라인 넘버를 사용한다. set ruler 화면 오른쪽 아래에 라인, 컬럼 수를 표시한다. syntax on 구문강조 기능을 사용한다. filetype on 파일 종류에 따라 구문을 강조한다. set background=dark 배경색을 어두운 색으로 설정한다. colorscheme evening VI 색상 테마를 evening으로 설정한다. set backspace=eol,start,indent 줄의 끝, 시작, 들여쓰기에서 백스페이스를 사용하면 이전 줄과 연결된다. set history=1000 VI 편집 기록을 1,000개까지 기억한다. set hlsearch 검색어 강조 기능을 사용한다. set ignorecase 검색, 편집, 치환 시에 대소문자를 구분하지 않는다. set showmatch (), []에서 닫는 괄호를 입력할 때 일치하는 괄호를 보여준다. map :w:!gcc -w % 간단한 컴파일 단축키 map :!./a.exe 실행 단축키 }}} $ wget hyacinth.byus.net/.vimrc === vim63 기본 컬러 스킴 === {{{ [hyacinth@power colors]$ ls README.txt default.vim elflord.vim morning.vim peachpuff.vim torte.vim blue.vim delek.vim evening.vim murphy.vim ron.vim zellner.vim darkblue.vim desert.vim koehler.vim pablo.vim shine.vim }}} == 기타 == === 윈도우용 vim === || [http://www.vim.org] || === Cygwin + vim === || [http://www.cygwin.com] || 리눅스 환경을 윈도우에서 그대로 사용 할 수 있으므로 리눅스 환경에서 vi와 gcc 사용을 하고 싶다면 Cygwin 도입을 적극 권장. ---- CategoryDocument