시작페이지로 시작페이지로
즐겨찾기추가 즐겨찾기추가
로그인 회원가입 | 아이디찾기 | 비밀번호찾기 | 장바구니 모바일모드
홈으로 와싸다닷컴 PCFI 게시판 상세보기

트위터로 보내기 미투데이로 보내기 요즘으로 보내기 싸이월드 공감
데비안4알릭스 4 --vi 에디터 사용법(완전초보용)
PCFI 게시판 > 상세보기 | 2013-05-30 13:08:09
추천수 17
조회수   2,169

제목

데비안4알릭스 4 --vi 에디터 사용법(완전초보용)

글쓴이

김성수 [가입일자 : 2008-09-05]
내용
제가 며칠 완전히 술독에 빠져서 지내느라 한동안 글을 못 적어 죄송합니다.

좀 제대로 적으려니 alix가 있는 곳에서 alix에 연결하여 화면 캡쳐를 해가면서 글을 적어야 하는데, 사무실에는 alix가 없고 며칠 계속 술먹고 집에 늦게 들어가다보니....

오늘은 많은 분들이 어려워하시는 vi 에디터 사용법에 대해서 적습니다. vi 에디터 완전 초보자를 위한 글이니까 조금 사용할 줄 아시는 분들은 굳이 보지 않으셔도 될 듯 합니다.





vi 에디터 사용법 설명



vi 에디터는 유닉스 계열에서 에디터로서 emacs와 더불어 가장 중요한 에디터로서 양대 산맥을 이룹니다.

vi 에디터는 1976년 빌 조이라는 사람에 의해서 개발되어 1984년 리처드 스톨만의 Emacs가 발표되기 전까지는 유닉스에서 그야말로 누구나 다 사용법을 알아야하는, 그리고 누구나가 다 사용하는 에디터였습니다. 물론 emacs가 발표된 이후에도 여전히 유닉스에서 가장 많이 사용하는 에디터로 존재하고요. emacs와 vi 에디터 사용자들 사이에는 서로가 더 바람직하다고 수 많은 논쟁(http://en.wikipedia.org/wiki/Editor_war)이 있긴 하지만 아직까지는 해커들(남의 시스템에 침략해서 못된짓 하는 사람들이 아닌 컴퓨터를 파헤치고 그 새로운 사용 방법들을 연구하는 의미로서의 해커. 남의 시스템에 침략하는 사람들은 크래커-cracker 라는 단어가 진짜임.)의 최고의 에디터로서 vi 에디터가 단연 앞섭니다. 그래서 모든 유닉스 계열의 운영시스템에서는 vi 에디터 또는 그 유사 에디터를 포함해서 배포됩니다.



vi 에디터의 유사 에디터로는 원초적인 vi 에디터를 약간 더 쉽게 또는 몇 가지 편리한 기능들을 추가시킨 에디터들로서 vim, elvis, nvi 등과 그 이외에도 수 많은 에디터들이 있습니다.





리눅스 배포판들에서는 vim이 기본 에디터로서 가장 많이 포함되어 배포됩니다.





처음 vi에디터류를 접하시는 분들은 무슨 편집작업을 하는데 이렇게 불편하게 만들었나 황당해 하실 수 있습니다. 하지만 조금 사용하다가 보면 다 그렇게 만들어진 이유가 있으며 적어도 원격 작업을 하는데 있어서는 지금까지 만들어진 방법 중 가장 훌륭한 방법이라는 것을 깨닫게 됩니다. 또한 처음에 러닝커브는 조금 느릴 수 있지만 조금만 익숙해지면 굉장히 다양하고 많은 작업을 매우 효율적으로 빠르게 수행할 수 있다는 것도....





vi 에디터의 모드

vi 에디터는 우리가 일반적으로 윈도우 등의 GUI 환경에서 사용하는 편집기들과는 달리 "편집 모드"와 "일반 모드(normal mode)" 이렇게 두 개의 모드로 상태가 왔다 갔다 합니다. 편집 모드에서 일반 모드로 들어가는 것은 언제 어느때고 esc 키를 누르면 됩니다. 일반 모드에서 편집 모드로 들어가는데에는 아래 "편집 모드로 전환" 부분에 보시면 크게 6가지 키 누름이 있는데 이중 가장 많이 사용하는 것은 i(현재 커서가 있는 곳 왼쪽에 문자 삽입)와 a(현재 커서가 있는 곳에서 오른쪽에 문자 삽입) 입니다. 그리고 vi 에디터에게 파일 저장, 컴파일을 비롯해서 각종 명령을 지시할 때는 ":"을 누르고 필요한 명령어를 타이핑한 다음 엔터키를 누르면 됩니다. 이 세가지 상태를 왔다 갔다하는 것만 이해하시면 그 다음부터는 vi 에디터에 대해서 이상한 편집기라는 생각이 없어질 겁니다.





자 그럼 본격적으로 vi 에디터 사용법을 공부해 봅시다.

제일 먼저 vi 에디터를 시작하는 것은 콘솔에서

$vi

라는 명령을 내리면 됩니다. 리눅스나 FreeBSD 등에 기본으로 많이 딸려오는 vim 등도 모두 "vi"란 명령을 내리면 그 편집기가 실행될 수 있도록 심볼릭 링크가 만들어져 있습니다. 콘솔의 커맨드 라인에서

$vi

라는 명령을 한번 내려 보세요.

편집기가 시작되죠?

vi 명령어에 아무런 옵션을 주지 않고 시작하면 일단 그냥 메모리에서 새로운 문서를 만들게 됩니다. 이렇게 만들어진 문서는 메모리 상에만 존재하고 편집기를 종료하면 그냥 없어집니다. 그렇기 때문에 옵션없이 vi 란 명령어만 사용하여 문서 편집을 시작하면 곧 바로 ":"를 눌러서 명령모드로 들어간 다음 "w"를 누르고 새로운 파일 이름을 주어 저장하는 습관을 들이는 것이 좋습니다.



자 여기서 GUI 보다 콘솔, 명령 프람프트를 사용하는 것이 더 편리하고 효율적인 것이 있습니다. vi 에디터를 시작할 때 그냥 프로그램 시작 명령인 "vi"만 입력하는 것이 아니라 여기에 각종 옵션을 붙여서 실행하는 것입니다. 그 중 가장 흔한 옵션이

$vi 파일이름

이렇게 시작하는 것입니다.

그러면 vi 에디터를 시작함과 동시에 파일을 함께 열게 됩니다. 만약 그 파일이 이미 시스템에 존재하면 기존의 파일을 열게 되고 파일이 존재하지 않으면 그 이름으로 새로운 파일을 만들면서 편집기가 시작됩니다.

$vi hello.txt

이렇게 해보세요.

그러면 현재 디렉터리에서 hello.txt 란 파일을 열면서 편집기를 시작합니다. 그리고 커서는 편집 문서내의 제일 위, 왼쪽에 있게 됩니다. 이미 vi 에디터를 시작하면서 hello.txt란 파일을 만들었기 때문에 지금은 굳이 저장부터하지는 않아도 됩니다.

그런 다음 제일 먼저 "i"(키보드의 i키)를 누르십시요. 그러면 제일 첫번째 행, 첫번째 열에서부터 새로운 문자를 삽입할 수 있게 됩니다. 이제 아무 문자나 입력해보십시요. 예를들어

wassada is greta

이렇게 입력하신 다음 esc 키를 눌러서 일반모드로 전환하고 다시 : 키를 눌러서 명령모드로 들어간 다음 w 를 입력하고 엔터키를 칩니다. 그러면 지금 입력한 내용이 hello.txt에 저장됩니다.

자 여기서 원래 제 의도는 great을 입력하는 것이었는데 greta라고 오타를 쳤습니다. 이를 수정하려면 esc 키를 눌러서 일반모드로 전환한 다음 키보드의 화살표를 이용해서 커서를 e 자 위에 위치시킨 다음 a를 누르시면 e 다음에 문자를 삽입할 수 있게 됩니다. 그러면 여기에 a를 입력하시고 다시 esc 키를 눌러서 일반모드로 돌아간 다음 키보드의 오른쪽 화살표를 두번 눌러서 제일 끝에 있는 a 자 위에 커서를 위치 시키십시요. 그런 다음 키보드의 d 를 누르면 a가 지워집니다.

이것은 제가 편집 모드로 들어갈 때 i와 a 를 사용하는 것을 배우기 위해서 이런 방식을 취했는데 이것을 좀 더 빠르게 하려면 t자 위에 커서를 위치 시킨 다음 (일반모드에서) r (치환)을 누른 다음 at 이렇게 입력하면 바로 greta가 great으로 바뀌는 것을 볼 수 있습니다.

그런 다음 수정이 완료되었으면 esc 키를 눌러서 일반모드로 전환하고 : 를 눌러서 명령 모드로 들어간 다음 w 엔터 이렇게 하여 수정된 것을 저장합니다.

처음에는 이런 과정이 매우 복잡하고 어려워 보이지만 우리가 키보드 자판을 익히면 글이 자동으로 써지듯, 일반모드, 편집모드, 명령모드 를 왔다 갔다 하면서 편집 작업을 하는 것도 자동으로 됩니다.



또한 이렇게 키보드를 이용해서 문자 삽입, 삭제, 치환 등을 하는 것도 추가의 옵션들을 알게되면 정말 빠르게 작업할 수 있습니다. 예를들어 현재 커서가 위치한 곳의 문자를 지우려면 x 를 누르면 됩니다. 그리고 현재 커서가 위치한 곳에서부터 오른쪽으로 4개의 문자를 한꺼번에 지우고 싶으면 그냥 x 키만 누르는 것이 아니라 숫자 4를 누르고 x 키를 누르면 4개의 문자가 한꺼번에 지워집니다. 또는 현재 커서가 위치한 곳의 단어를 통째로 지우고 싶으면 d키를 누르고 w 키를 누르면 단어가 통째로 지워집니다. 그리고 현재 커서가 있는 행을 몽땅 지우고 싶으면 dd 이렇게 d를 두번 누르면 됩니다. 또한 현재 커서가 있는 행부터 4개 행을 한꺼번에 지우고 싶으면 4dd 이렇게 누르면 됩니다.



vi 에디터를 사용하면서 가장 많이 혼동하거나 오류를 발생시키기 쉬운 것은 현재 자신이 어느 모드에 있는 것인지 잘 모르는 것입니다. 그래서 저도 vi 에디터를 사용할 때는 손가락이 놀 때마다 esc 를 한번씩 누릅니다. 심심할 때마다 esc 키를 누르고 일반모드 상태로 유지하면서 거기에서 다른 모드로 전환하는 것이 편리할 수 있습니다.



이정도면 일단 vi 에디터 사용법을 배우는데 시작은 할 수 있다고 생각됩니다. 그리고 나머지 부분은 아래에 정리된 내용들을 보면서 스스로 하나씩 익혀보시면 됩니다.





그리고 나머지 다양한 키 사용은 구글 키워드 검색으로 "vi 에디터 사용법" 이렇게 해서 하면 아주 많이 나옵니다. 제가 굳이 여기에 반복해서 적지 않아도 검색해서 참고하시면 될 것 같고요. 특히 http://mintnlatte.tistory.com/113 에 보면 아주 일부지만 꼭 필요한 기능들 잘 요약되어 있습니다. 사실 프로그래밍을 하시는 분이 아니라면 그 명령들 조차도 다 알필요는 전혀 없고 i,a, x, d, G, / , s, %s, r, R, y 등 정도만 알아도 매우 충분합니다.



그 중에서도 제가 위에 설명한 것과 복사, 찾기/찾아서치환, 커서의 이동을 편리하게 하는 것들을 잘 익혀두시면 매우 편리합니다.



<이부분 추가>

제가 적다보니 제일 중요한 부분을 빼먹었습니다.

vi 사용에 최소한의 것들 다시 정리



vi 파일이름 - vi를 시작하면서 "파일이름" 파일을 염

esc 키 - 일반모드 들어가기

: - 명령모드로 전환

i -편집모드로 들어가면서 커서의 왼쪽에 문자 삽입

I - 커서가 있는 행의 제일 왼쪽에 문자 삽입.

a - 편집모드 들어가면서 커서의 오른쪽에 문자 삽입

A - 커서가 있는 행의 제일 오른쪽에 문자 삽입

r - 문자 변경. 한문자만

R - 문자변경. 있는대로 겹쳐써서 계속 변경함.

~ - 대/소 문자 바꾸기





x - 커서가 위치한 문자 삭제

숫자x - 즉 15x 와 같이 입력했을 때 숫자만큼의 문자 삭제

dd - 커서가 위치한 행 삭제

숫자dd - 커서가 위치한 행부터 아래로 숫자 만큼의 행 삭제



명령 모드에서 즉 앞에 : 를 치고 명령어를 치면됨

:w - 편집 내용저장

:q - vi 에디터 종료



내용을 저장하고 종료하는 것은

:wq

이런식으로 복수의 명령을 함께 줄 수도 있음.



그리고 명령 모드에서 어떤 이유로 명령을 거부할 때 그것을 강제하는 것은 명령어 뒤에 !를 치면 됩니다.

예를들어 읽기 전용 파일을 열어서 편집한 뒤 저장하려면 저장이 거절됩니다. 이것을 강제하려면

:w!

이렇게 하면 됩니다.



u - 마지막 행동 취소



가장 간단한 작업을 위한 최소한의 명령을 적었습니다. 각종 찾기/치환 편리한 커서 이동 등 여러가지 본격적인 키는 위 링크나 또는 인터넷 검색을 통해서 찾아서 하세요.



-----------------

알릭스로 음악만을 들으면 정말 몇번의 설정 파일 수정 작업만 하면 되므로 어찌보면 vi 에디터를 굳이 익히지 않아도 상관없고 pico (nano의 오리지날) 에디터를 사용해도 되긴하는데 저로서는 pico나 nano 보다는 vi가 더 쉽고 편리해서...

그리고 본격적인 알릭스의 설정 등을 하려면 일단 에디터를 익혀야 하기 때문에 우선적으로 적어보았습니다.
추천스크랩소스보기 목록
손윤석 2013-05-30 14:10:43
답글

잘보고 있습니다. <br />
어려운 VI 편집기군요^^

정성철 2013-05-30 15:52:19
답글

<br />
<br />
nano 에디터 설치하면 배워야할게 거의 없습니다. 삭제하는 법과 저장하는 법과 종료하는 <br />
법만 배워두면 나머지는 손가락 가는 대로 다 됩니다..

  • 광고문의 결제관련문의