리눅스 :: 에디터

2025. 8. 19. 16:44백엔드/리눅스

 

vi, emacs, pico, gedit, xedit 등이 있음

→ 원본 파일은 훼손되지 않게 남겨두고 해당 파일의 복사본을 임시기억장치(버퍼 역할)에 둔다.

버퍼 기반 편집기 방식

→ 장점이자 단점으로는 잘못 편집시 기록없이 중지가능하므로 변경내용을 잃어버릴 수 있다.

 


Pico

윈도우 메모장과 유사함(vi 처럼 입력모드, 명령모드가 분리되어있지 않고 바로 입력하는 방식)

Aboil Kasar 개발, 유닉스 기반의 텍스트 에디터.

자유 소프트웨어 라이선스가 아니기 때문에 소스 수정이 불가

비교적 사용이 쉽고 편리하나 기능이 부족하며 업데이트가 잘 되지 않음.

GNU 프로젝트에서는 pico 복제 버전 에디터인 nano 를 개발하였다.

pico -w 파일명    # Ctrl+O(저장)  Ctrl+X(종료) 등 여러 단축키가 있음

 

 


Emacs

많은 개발 환경에 편리한 편집기 기능을 제공한다.

→ 간단한 문서 편집부터 프로그래밍까지 다양하게 사용됨

리처드 스톨만매크로 기능이 있는 텍스트 교정 및 편집기로 개발하고 제임스 고슬링LISP 언어를 기반으로 다양한 기능을 개발하여 추가하였다.

LISP에 기반을 둔 환경 설정 언어를 가지고 있으며 C, LISP, FORTRAN, HTML 등의 소스코드를 작성할 경우 각각에 해당하는 모드를 설정할 수 있다.

비모드형 편집기이며, LISP 코드를 불러오는 데 시간이 많이 걸린다는 단점이 있다.

Ctrl+X -> Ctrl+S (저장)
Ctrl+X -> Ctrl+C (종료)

 

 


vi

빌 조이가 만들었다.

리눅스 배포판과 유닉스에 기본적으로 포함되어 있다.

유닉스 환경에서 가장 많이 쓰이는 문서 편집기이며, 다른 편집기와 다르게 모드형 편집기이다.

작업모드로 명령 모드, 입력 모드, 편집 모드로 구성되어 있다.

이러니저러니 해도… 그냥 vi는 기본적으로 읽기전용으로 열리고, i를 누르면 편집모드(INSERT)로 들어간다고 이해하는 편이 쉽다.

사실 이렇게까지 단축키를 달달 외워야 하나 하는 생각이.. 자주 쓰게 되면 저절로 외워지지 않을까.

많지만 실제로 자주 쓰는것만 정리한다.

# 명령 모드에서 편집 모드로 전환
# 입력
a(커서 뒤) A(줄 마지막) i(현재문자 앞) l(줄의 시작부분) o(다음줄에) p(커서 줄위에)
# EX 명령 모드에서 저장 및 종료, 환경 설정
:wq    # 버퍼를 파일에 기록하고 종료
:q!    # 기록하지 않고 무조건 종료
:q     # 일치하는 경우 종료
:set nu   # 줄 번호 표시 설정
:set nonu  # 줄 번호 표시 설정 해제
**# 명령 모드에서 삭제, 복사, 붙여넣기**
**# 삭제**   x(커서 위치 한문자)  dd(한 라인)   dw(오른쪽 한 단어)  db(왼쪽 한 단어)
**# 복사**   yy(한 라인)   yw(오른쪽 한 단어)  yb(왼쪽 한 단어)
**# 붙여넣기**    P(커서 윗줄에)    p(커서 아랫줄에)

 

 


vim

브람 무레나르 가 만들었다.

패턴 검색 시 하이라이트 기능을 제공하여 빠른 검색이 가능하다.

ex 모드에서 히스토리 기능을 제공한다.

확장된 정규 표현식 문법과 강력한 문법 강조 기능을 가지고 있다.

다중 되돌리기 기능 및 유니코드를 비롯한 다국어 지원, 문법 검사 기능도 지원한다.

 

 


gedit

그놈 데스크톱 환경용으로 개발된 자유 소프트웨어 텍스트 편집기이다.

마이크로소프트, 윈도우, 맥OS, X 에서도 사용 가능하다.

X윈도우 시스템에 맞춰 개발되었다.

GTK+와 그놈 라이브러리를 이용하여 개발되었고, 그놈 파일 관리자인 노틸러스와의 사이에서 드래그 앤 드롭이 가능하다.

텔넷 접속 시나 텍스트 기반 콘솔 창에서는 사용할 수 없다.

 

'백엔드 > 리눅스' 카테고리의 다른 글

리눅스 :: 주변 장치 명령어  (0) 2025.09.08
리눅스 :: 주변 장치 연결 및 설정  (0) 2025.09.08
리눅스 :: 셸과 환경변수  (0) 2025.09.07
리눅스 :: 파일시스템  (0) 2025.09.07
리눅스 :: Cron  (2) 2025.08.08