본문 바로가기

별걸다하는 IT/리눅스 유닉스

[리눅스]에디터(editor)란? 에디터의 종류 및 특징 vi(vim) & Emacs & gedit

리눅스(Linux) 목차

에디터(editor)란?

에디터란 말 그대로 편집기라는 뜻입니다.

노트북에서는 우리는 실제로 메모장, 한글파일, 워드패드 등 파일을 생성하기 위해서 다양한 에디터를 사용하고 있죠

다만 에디터라고 부르지 않아서 익숙치 않을뿐..?

이 포스팅에서 언급했었던 적이 있는데 리눅스는 대부분을 텍스트 파일로 만들어서 관리합니다. 

윈도우는 우클릭 하면 메모장 생성이 나오는데 

우분투 desktop 컴퓨터에는 폴더에서 우클릭 해도 파일 생성이 불가해서 당황한 분이 있을 수도 있어요 

아무리 봐도 리눅스에서는 어떻게 파일을 만드는거지... 라고 처음 리눅스를 써보는 분이라면 의아할 수 있습니다.

이제 에디터가 뭐가 있는지 한 번 살펴보고 메모장과 같은 에디터를 한 번 사용해서 파일을 만들어봅시다!

 

리눅스 에디터의 종류 및 특징 일부 from 리눅스마스터 2급

gedit

Windows의 메모장처럼 X윈도에서 제공해주는 편리한 에디터로는 gedit이 있어요. 근데 X윈도 기반이기 때문에 gedit은 X윈도를 사용하지 않는 서버 기본 텍스트모드에서는 사용할 수 없다는 제약이 있습니다.

텍스트모드에서 gedit을 치면 gedit 사용할 수 없다고 설치를 부가적으로 하라고 나옵니다. 

하지만 사실 vi편집기를 쓸거기 때문에 굳이 설치할 필요는 없어요 

 

리눅스에서 전통적으로 사용하는 편집기에는 vi, emacs, pico가 있는데 얘네는 텍스트 환경 기반의 콘솔 환경에서도 사용 가능한 대표적인 편집기예요. 이 외에도 사용가능한 편집기는 무진장 많습니다~~~ 윈도우에서 개발할 때 사용하는 에디터도 리눅스에서 많이 사용해요 

음 저는 vi랑 emacs는 좀 많이 들어봤는데 pico는 요새 안쓰는걸로 알고 있는데... 내가 잘 모르는건가ㅠ 리눅스 마스터에는 pico에디터 관련 문제가 꽤나오네요. 이러나 저러나 가장 많이 사용하는 건 vi 기능을 대폭 강화해 만든 vim 편집기예요.

 

 

Vim (Vi Improved)

전통적으로 사용된 편집기 vim과 emacs에 대해서만 간략히 알아봅시다.

 

vi는 빌 조이가 캘리포니아 대학교 버클리에서 작성했어요. (빌 조이는 나중에 나오지만 C셸 개발자이기 합니다) vim은 브람 무레나르(Bram Moolenaar)가 vi편집기와 호환되면서 독자적으로 다양한 기능을 추가해 만든 편집기입니다. 편집 시에 다양한 색상을 이용해 가시성을 높였고 패턴 검색 시에 하이라이트 기능을 제공하여 빠른 검색을 가능하게 해줘요. 또한 ex모드에서 히스토리 기능 제공, 확장된 정규 표현식 문법, 강력한 문법 강조 기능, 다중 되돌리기 기능, 유니코드를 비롯한 다국어 지원, 문법 검사 등등 다양한 기능들을 사용할 수 있습니다. 리눅스 배포판에서 vi실행 시에 기본적으로 사용되는 에디터이고 GUI기반의 gVim도 개발되었는데 메뉴와 자주 사용하는 명령어 도구 바를 제공하지만 여전히 많은 기능은 CUI(command user Interface)기반으로 사용해야 합니다.

근데 유닉스/리눅스 입문하는 사람이 처음에 vi에디터 사용하면 많이 어려워해요. 하지만 이 에디터는 모든 리눅스/유닉스 시스템에 포함된 기본 에디터인데다가(기본으로 제공해주니 텍스트 기반 컴퓨터에서 굳이 gedit을 깔 필요가 없죠) 많은 사람들이 사용하는 만큼 반드시 사용할 수 있어야 합니다.

[text editor - VIM]

 

emacs 

emacs는 Editor Macros의 약자로 리처드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발하였습니다. 이제는 하두 많이 들어서 리처드 스톨만이 익숙하죠? FSF을 설립한 사람이잖아요 ㅎㅎ 

리처드 스톨만이 개발한 후 제임스 고슬링이 LISP언어에 의한 환경 설정 및 에디터의 기능을 확장시킬 수 있는 기능을 포함하여 '고슬링 이맥스'라는 이름으로 배포하였습니다. 최근에 리눅스 배포판에 사용되는 emacs는 GNU emacs라 부르는데 리처드 스톨만이 'emacs LISP'라 하는 LISP에 기반을 두는 환경 설정 언어를 가지고 처음부터 다시 만든 버전입니다. emacs는 편집하는 종류에 따라서 여러 가지 기능을 제공하고, 자신에게 가장 적합한 모드를 스스로 만들 수 있어요. 예를 들면 C나 LISP, FORTRAN 등의 소스코드를 작성할 경우에 각각에 해당하는 모드를 설정할 수 있고, HTML에 적합한 모드를 설정할 수 있습니다. 이런 점에서 확장성과 유연성이 돋보인다고 할 수 있어요. emacs의 단점으로는 기능이 너무 많아 대응하는 LISP 코드를 불러오는 데 오랜 시간이 걸리고 다양한 모드를 동일한 인터페이스로 통합해서 제공하지만 초보자가 사용하기에는 힘듭니다. emacs는 편집기와 LISP 개발 환경이 통합되어 있어서 LISP를 아는 프로그래머에게는 인기 있는 에디터입니다. 

최근에는 X윈도 환경에 최적화시킨 XEmacs도 개발되었는데, 그래픽 기능을 강화하였고 다양한 글꼴 사용과 크기를 지정할 수 있습니다.

[emacs editor]

 

우리는 gedit과 vi에 대해서 사용해볼거예요.

 

다음 포스팅에서는 

gedit을 이용해서 텍스트 파일을 생성해보고 매번 터미널에 들어가서 gedit치기 귀찮으니까 우클릭 메뉴로 파일 생성을 등록해서 간편하게 파일 만드는 법까지 알아볼게요

 

문제

리눅스마스터 2급 2016년 1회 출제

다음 중 유닉스 계열 시스템에서 가장 많이 쓰이는 편집기로써 1976년 빌 조이에 의해서 개발된 에디터는 무엇인가?

1. emacs

2. nano

3. vi

4. pico

답: 3번

 

다음 중 emacs에 대한 설명으로 틀린 것은?

1. 리처드 스톨만에 의해 개발되었다

2. 단순 편집기를 넘어, 텍스트 처리를 위한 포괄적인 통합 환경을 제공한다.

3. LISP 코드를 불러오는 데에 시간이 많이 걸리는 단점이 있다.

4. 최근 리눅스 배포판에는 nano로 제공된다.

답: 4번 pico 편집기가 nano로 제공된다

 

공감&댓글&광고보답은

시간내어 틈틈히 포스팅을 작성하는데 크나크은 동기부여가 됩니다