[Linux] 텍스트 에디터


🐧 에디터


  • 리눅스는 편집기를 통해 파일을 수정

  • 원래의 파일은 훼손되지 않게 남겨두고 해당 파일의 복사판을 만들어 임시 기억 장치에 두며, 임시 기억 장치는 편집기의 버퍼 역할

  • 편집기를 통한 파일에 대한 수정은 복사된 파일에 저장

  • 버퍼 기반 편집기 방식의 장단점

    • 장점 : 사용자가 잘못 편집 할 경우 해당 내용의 기록 없이 중지할 수 있어 원본 파일을 보존할 수 있음

    • 단점 : 외부적인 요인으로 갑자기 편집기가 종료될 경우 변화된 내용을 모두 잃게 됨



🐧 pico


  • 유닉스 기반의 텍스트 에디터

  • 기본 인터페이스가 윈도우 메모장과 유사해 간단함

  • 자유 소프트웨어 라이선스가 아니라 소스 수정이 불가능

  • 사용이 쉽고 편리하지만 기능이 부족하고 업데이트가 잘 되지 않음

  • GNU 프로젝트에서 pico의 복제 버전인 nano를 개발

  • 입력모드나 명령모드가 존재하지 않고 바로 텍스트 입력 가능

  • 사용법

    • Ctrl + O : 파일 저장

    • Ctrl + X : 파일 종료, 종료 시 저장 여부 확인

    • Ctrl + A : 현재 행의 맨 앞으로 이동

    • Ctrl + E : 현재 행의 맨 뒤로 이동

    • Ctrl + V : 이전 페이지로 이동

    • Ctrl + Y : 다음 페이지로 이동

    • Ctrl + K : 현재 라인 삭제

    • Ctrl + U : 마지막으로 삭제된 라인 복구



🐧 emacs


  • 리처드 스톨만이 개발, 이후 제임스 고슬링이 LISP 언어를 기반으로 다양한 기능을 추가

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

  • LISP 코드를 불러오는 데 시간이 많이 걸린다는 단점

  • 많은 개발 환경에 편리한 편집기 기능을 제공하며, 간단한 문서 편집부터 프로그래밍까지 다양하게 사용됨

  • 비모드형 편집기

    • 모드(mode)형

      • 입력모드와 명령모드가 구분됨

      • 입력모드 : 텍스트 입력 시 사용하는 모드

      • 명령모드 : 삭제, 복사, 붙여녛기 편집이 가능한 모드

    • 비모드형

      • 입력모드와 명령모드가 구분되어 있지 않음

      • Ctrl 또는 Alt와 다른 키를 조합해 편집 기능을 사용

  • 사용법

    • Ctrl + X Ctrl + S : 파일 저장

    • Ctrl + X Ctrl + C : 종료

    • Ctrl + K : 커서 뒤 한 줄이 모두 지워지며, 지워진 문자는 클립보드에 저장

    • Ctrl + A : 커서를 줄의 맨 앞으로 이동

    • Ctrl + E : 커서를 줄의 맨 뒤로 이동

    • Ctrl + N : 커서 한 줄 아래로 이동

    • Ctrl + S + 찾을 문자열 : 커서 아랫부분에서 찾을 문자열 검색

    • Ctrl + R + 찾을 문자열 : 커서 윗부분에서 찾을 문자열 검색



🐧 vi


  • 빌 조이

  • 리눅스 배포판과 유닉스에 기본적으로 포함

  • 모드형 편집기

  • 명령모드, 입력모드, 편집모드로 작업모드 구성

  • 한 줄씩 편집하는 줄 단위 편집기가 아닌 한 화면을 편집하는 비주얼 에디터(visual editor)

  • 사용법

    • 명령모드 : 실행 직후, vi가 명령을 대기하고 있는 상태. 입력한 내용은 모두 명령으로 해석되며, 복사, 붙여넣기 등의 편집 작업 가능

    • EX모드 : vi의 바탕이 된 ex라는 에디터의 명령을 사용할 수 있음. : 키에 이어서 명령을 입력하고 esc 키를 누르면 파일 저장, vi 종료 등의 처리를 할 수 있음

    • 인서트모드 : 텍스트 입력 가능, 화면 왼쪽 하단에 INSERT라고 표시됨

    • 명령모드-[i]->인서트모드-[esc]->명령모드

    • 명령모드-[:]->EX모드-[esc]->명령모드

    • 명령 모드 -> 편집 모드 전환

      • a : 커서 뒤부터 입력

      • A : 줄의 마지막에 입력

      • i : 현재 문자 앞에 입력

      • I : 줄의 시작 부분에 입력

      • o : 현재 줄 다음 줄에 입력

      • p : 커서가 있는 줄 위에 입력

    • EX명령 모드에서의 저장&종료

      • :wq : 버퍼를 파일에 기록하고 종료

      • :q! : 버퍼를 파일에 기록하지 않고 종료

      • :q : 버퍼와 파일의 내용이 일치하는 경우 종료

    • 명령 모드에서의 삭제&복사&붙여넣기

      • x : 커서가 위치한 한 문자 삭제

      • dd : 한 라인 삭제

      • yy : 한 라인 복사

      • P : 커서 윗줄에 붙여넣기

      • p : 커서 아랫줄에 붙여넣기



🐧 vim


  • vi 편집기와 호환되며 독자적으로 다양한 기능을 추가

  • 편집 시 다양한 색상을 이용 > 가시성 ↑

  • 패턴 검색 시 하이라이트 기능 제공 > 빠른 검색 가능

  • ex모드에서 히스토리 기능 제공

  • 확장된 정규 표현식 문법과 강력한 문법 강조 기능을 가짐

  • 다중 되돌리기 기능, 다국어 지원, 문법 검사 기능 지원



🐧 gedit


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

  • 마이크로소프트, 윈도, 맥OS X에서 사용 가능

  • UTF-8과 호환되며 프로그램 코드, 마크업 언어 등 구조화된 텍스트 문서를 편집하는 용도에 중점을 둠

Categories:

Linux   리눅스