Computer Science/OS

[OS] 리눅스 / 에디터

Bay Im 2024. 9. 4. 01:50
  • 에디터
    • 리눅스에서 사용하는 편집기 종류
      • vi, emacs, pico
    • 배포판 vi는 오리지널 버전이 아니고, 기능을 강화한 VIM이다
  • vi
    • 유닉스에서 가장 많이 쓰이는 편집기
    • 1976년 빌 조이 개발
  • pico
    • 유닉스 기반 텍스트 에디터
    • Pine 이메일 클라이언트 프로그램 배포
    • GNU에서 pico 복제본인 nano 개발
    • 워싱턴 대학 개발
  • emacs
    • 리처드 스톨만이 개발한 매크로 기능 있는 텍스트 교정, 편집기
    • C, LISP, FORTRAN 등 모두 설정 가능
    • HTML에 적합한 모드 설정 가능
    • X윈도에 최적화된 XEmacs 개발
    • 단점은 기능이 너무 많아 시간 소요, 초보자가 힘들다
  • vim
    • ex모드에서 history 기능 제공
    • 문법 강조 기능
    • 다양한 색상 이용
  • gedit
    • GTK 개발, 드래그 앤 드롭 가능

에디터 활용

  • pico 이동
    • Ctrl +
      • a: 커서가 위치한 줄의 처음으로 이동
      • e: 커서가 위치한 줄의 끝으로 이동
      • p: 커서를 윗줄로 이동
      • n: 커서를 아래줄로 이동
      • b: 커서를 뒤로 (왼쪽) 이동
      • f: 커서를 앞으로 (오른쪽) 이동
  • emacs 시작과 종료
    • emacs 파일명: emacs 실행
    • Ctrl + x 후 Ctrl + c: emacs 종료
  • emacs 이동
    • Ctrl +
      • a: 커서가 위치한 줄의 처음으로 이동
      • e: 커서가 위치한 줄의 끝으로 이동
      • p: 커서를 윗줄로 이동
      • n: 커서를 아래줄로 이동
      • b: 커서를 뒤로 (왼쪽) 이동
      • f: 커서를 앞으로 (오른쪽) 이동
    • page up/down 사용 가능
    • emacs는 입력, 명령모드 없다
  • vi
    • 모드형 편집기
    • 모드 종류
      • 명령모드
        • 커서 이동, 수정, 삭제, 복사, 붙이기, 탐색
        • 입력모드 전환 키: i, a, o, I, A, O
        • 다시 명령모드로 전환은 Esc 키
      • 입력모드
        • 글자 입력
      • ex 명령모드
        • 명령모드에서 : 입력 시 맨 아랫줄에서 명령 수행
        • 저장, 종료, 탐색, 치환 및 vi 환경설정 역할
    • 명령모드 사용 예시
      • vi +15 파일명.html: 커서를 15번째 줄로 이동
      • vi -c 15 파일명.html: 위와 같음
      • vi + 파일명.html: 마지막 줄로 이동
      • vi -r: 비정상 종료 스압 파일 목록 출력, .a.txt.swp 파일이 생성된다
      • vi -r 파일명.txt: 해당 스왑 파일 내용 불러오기, 작업 후 삭제된다
  • vi 커서 이동
    • h: 왼쪽
    • j: 아래
    • k: 위
    • l: 오른쪽
    • $: 줄의 맨 끝
  • vi 복붙, 삭제
    • yy 또는 Y: 현재 줄을 버퍼에 복사
    • p: 버퍼 내용을 커서 아래에 붙여넣기
    • P: 버퍼 내용을 커서 위에 붙여넣기
    • dd: 현재 줄 삭제
  • ex 명령모드
    • :w
      • 작업 중인 내용을 저장
    • :w 파일명
      • 해당 파일명으로 저장
    • :w!
      • 무조건 저장 (읽기전용 파일시 사용)
    • :q
      • 종료, 수정사항있으면 종료 안됨
    • :wq
      • 저장 후 종료
    • :wq 파일명
      • 해당 파일명으로 저장 후 종료
    • :wq!
      • 무조건 저장 후 종료
    • :q!
      • 저장하지 않고 무조건 종료
  • 매크로 기능
    • 특정 키에 특정 기능을 수행하도록 설정
    • 명령
      • map: 설정되어 있는 매크로 출력
      • 예시
        • map q ‘:wq!’
          • q라는 명령어에 해당 기능 등록
        • unmap q
          • q 명령어 취소
  • vi 환경설정
    • set nu, se nu, set number: 행 앞에 행번호 표시
    • set nonu: 행번호 없애기
    • set ai: 다음행 이동시 같은 열에 커서 위치시키기
    • set noai: 위에 기능 해제
    • set: 주요 환경변수 출력
    • set all: 모든 환경변수와 값 출력
    • set ts = n: 탭 크기 설정
  • exrc
    • vi 환경설정 등록하여 실행시 계속 지정설정 이용
  • vi 특수기능
    • 자주 입력하는 단어를 약어로 설정
    • 명령
      • ab: 현재 설정된 약어 목록 출력
      • ex) ab yb yubin → yb 입력시 yubin 문자열로 대체
728x90