리눅스 편집기
리눅스 편집기
- 텍스트 파일을 생성 또는 수정하기 위해 사용하는 프로그램.
- 대표적 프로그램 : vim, emacs, nano.
- vim
= vi편집기를 개량하여 제작된 편집기로 현재 리눅스에서 가장 많이 사용.
= 문서 이동, 검색 및 편집에 사용하는 강력한 기능과 사용의 편리성.
= 편집시 다양한 색상을 이용하여 가시성을 높였으며, 신속한 검색기능 제공.
- emacs
= 대부분의 unix기반 시스템에 있는 완전한 기능을 갖춘 편집기로 리처드 스톨만에 의해 개발.
= 강력하고 다양한 기능과 고급기능을 갖춘 편집기.
= 다양한 기능지원을 위한 단축키의 종류가 많아서 이들을 암기해야하는 복잡함이 존재.
= 텍스트 뿐만 아니라 그래픽모드도 지원.
- pico
= 워싱턴 대학의 aboli kasar가 만든 유닉스기반 편집기로써 윈도우의 메모장과 같이 사용이 간편하게 제작.
= 복사 및 붙여넣기, 맞춤법 검사, 단락 정의 기능등을 수행.
= GNU 라이센스가 아니므로 수정 불가능.
- nano
= pico 편집기의 대체 편집기로서 pico 편집기의 사용지침을 적용하면서도 마우스 지원
= 자동들여쓰기, 정규표현식 검색, 구문 강조 등의 기능을 추가로 제공.
= 따라하기 쉬운 화면 도움말이 포함되어 있어서 명령어 라인 기반 편집기를 처음 접하는 사용자에게 적합.
pico의 주요 단축키(커서이동키는 pico와 Emacs가 같다)
- Ctrl + x : 프로그램 종료.
- Ctrl + o : 편집된 내용을 저장.
- Ctrl + j : 행의 끝을 나란히 맞춤.
- Ctrl + r : 현재 편집중인 파일에 다른 파일을 읽어들여 추가.
- Ctrl + w : 문자열 검색기능.
- Ctrl + k : 현재 줄을 잘라내기 함.
- Ctrl + c : 현재 커서의 위치를 표시.
- Ctrl + t : 철자검사.
- Ctrl + a : 커서가 위치한 줄의 처음으로 커서를 이동.
- Ctrl + e : 커서가 위치한 줄의 끝으로 커서를 이동.
- Ctrl + p : 커서를 윗줄로 이동.
- Ctrl + n : 커서를 아랫줄로 이동.
- Ctrl + b : 커서를 왼쪽으로 이동.
- Ctrl + f : 커서를 오른쪽으로 이동.
emacs의 주요 단축키(커서키는 pico, Emacs가 같다)
- Ctrl + x; Ctrl +c : Emacs를 종료.
- Ctrl + x; Ctrl + s : 편집된 내용을 저장.
- Ctrl + x; Ctrl + f : 새 문서 작업을 위해 새로운 파일명을 지정하고 편집한다.
- Ctrl + x; u : 이전에 실행한 명령을 취소.
- Ctrl + k : 커서가 위치한 부분부터 줄 전체를 삭제.
- Alt + k : 커서가 위치한 부분부터 문장 전체를 삭제.
- Ctrl + d 또는 delete : 커서가 위치한 글자를 삭제.
- Ctrl + a : 커서가 위치한 줄의 처음으로 커서를 이동.
- Ctrl + e : 커서가 위치한 줄의 끝으로 커서를 이동.
- Ctrl + p : 커서를 윗줄로 이동.
- Ctrl + n : 커서를 아랫줄로 이동.
- Ctrl + b : 커서를 왼쪽으로 이동.
- Ctrl + f : 커서를 오른쪽으로 이동.
Vi에디터
- 윈도우의 메모장과 같은 역할.
- 파일의 생성, 편집에 사용.
- 입력모드 전환을 위한 명령.
= i : 커서가 위치한 곳 앞에 내용 삽입.
= a : 커서가 위치한 곳 바로 뒤에 내용 추가.
= o : 커서가 위치한 다음 줄에 내용 삽입.
= s : 커서가 위치한 곳의 문자를 지우면서 입력모드 전환.
= I : 커서가 위치한 줄 맨 앞에 삽입.
= A : 커서가 위치한 줄 맨 뒤에 삽입.
= O : 커서가 위치한 줄 윗줄에 삽입.
= S : 커서가 위치한 줄을 지우면서 입력모드 전환.
Vi에디터의 명령 모드
- 시작 명령
= 형식 : vi 옵션 [파일명]
* -c : 명령모드에서 실행되는 명령을 지정하여 실행.
* -r : 손상된 파일을 복구할 때 사용.
* -R : 파일을 읽기 전용으로 열 때 사용.
* +행 : 파일 열면서 커서를 지정한 행으로 이동.
= vi만 입력하면 파일 생성.
= 파일명 입력하면 해당 파일을 편집하는 모드로 변경.
- 주요 커서 이동 명령(ESC 누르고 명령 모드에서 해야함)
= h : 커서를 왼쪽으로 이동.
= j : 커서를 아래로 이동.
= k : 커서를 위로 이동.
= l : 커서를 오른쪽으로 이동.
= w : 다음 단어의 처음으로 이동.
= - : 앞 줄의 처음으로 이동.
= ^ : 현재 줄의 첫 문자로 이동.
= $ : 현재 줄의 맨 끝으로 이동.
= + : 다음 줄 첫문자로 이동.
- 편집명령(삭제작업)
= x 또는 dl(delete키와 같은 역할)
= x 또는 dl(현재 커서가 위치한 왼쪽 문자 삭제)
= dd(라인삭제)
= dw(단어단위 삭제)
ex) 10 dd -> 현재 커서가 위치한 곳으로부터 10줄 삭제.
- 편집명령(복사와 붙여넣기)
= 커서 이동 - :라인번호
= 복사작업 관련 명령어.
* yy(라인 단위 복사)
* yw(단어 단위 복사)
* yl(커서가 위치한 문자를 복사)
= 붙여넣기 관련 명령.
* p(현재 커서 아래쪽으로 붙여넣기 실행)
* P(현재 커서의 위쪽에 붙여넣기 실행)
- 검색작업
= 형식 : /검색 단어 또는 ?검색 단어.
= 명령모드에서 /검색할 단어를 입력하면 현재 커서가 위차한 곳부터 아랫방향으로 해당 단어와 일치하는 내용 검색.
= ?는 현재 커서 위치한 곳의 윗방향으로 해당 단어와 일치하는 내용 검색.
- 치환작업
= 형식 - :시작라인 번호, 마지막라인번호 s/기존문자열/새문자열[/g]
= 파일의 특정 시작줄부터 정해진 줄까지에서 특정 문자를 검색하여 원하는 문자열로 변경하라는 의미.
= /g - 변경할 문자열이 여러 개 있을 경우 여러 번 치환하도록 설정.
ex): 1,10 s/an/bw/g --- -> 첫 번째 줄부터 10번째 줄까지 “an”문자를 찾아 “bw”로 모두 변경하라는 의미.
: 1,$ s/an/bw/g --- -> 파일 전체에서 an을 찾아 bw로 모두 변경하라는 의미.
- vi편집기에서 파일을 편집 중 비정상 종료가 되면 .파일명.swp로 생성이 된다.
명령 모드
- 저장 종료 명령
= :w - 저장작업(write)
= :w 파일명 - 해당 파일명으로 저장.
= :w! - 무조건 저장.
= :q - 종료작업(수정사항 있는 경우 종료안됨)
= :q! - 저장하지 않고 종료작업(quit)
= :wq - 저장 후 종료작업.
= :wq! - 강제 저장하고 종료작업.
= :시작행, 마지막행 w 파일명 - 일부분 행만을 파일명으로 저장.
- 편집 및 기타 명령
= :r - 커서 위치 다음에 지정한 파일명을 읽어서 삽입.
= :시작행, 끝행d - 지정한 행을 모두 지움.
ex) :3,5d -> 3번 ~ 5번째 줄을 삭제.
= :n 불러올 파일명 - 현재 파일을 종료하고 지정한 파일을 불러옴.
ex) :n onesample.txt -> 현재 파일 종료하고 onesample.txt를 불러옴.
= :n! 불러올 파일명 - 현재 파일을 저장하고, 지정한 파일을 불러옴.
= :n# - 바로 전에 편집했던 파일을 불러옴.
- ex명령모드의 특수문자
= $ : 마지막 줄 의미.
= % : 첫 번째 줄부터 마지막 줄까지를 의미(=l,$와 같은 의미).
= 숫자1 + 숫자2 : 지정한 숫자1행에서 숫자2행을 더한 줄까지 의미.
ex)3+3 -> 3행부터 3행 더한 줄.
- 기타 설정 명령어
= :map
* :map [키] [설정가능]
* 특정한 키에 기능을 설정하여 해당 키를 사용하도록 함.
ex) :map tx :n sample.txt -> tx키 명령에 현재 작업 종료 후 sample.txt불러오는 기능을 등록.
= :unmap
* :unmap 해제할 키
* map에 의해 설정된 키를 해제함.
ex) :unmap tx -> tx 설정 해제
= :ab
* :ab [약어] [문자열]
* 자주 입력하는 단어를 약어로 설정.
ex) :ab linux centoslinux -> centosliux를 linux로 설정
= :una
* :una 약어
* 설정된 약어를 해제.
ex) :una linux -> linux 약어를 해제
= :set
* :set 환경변수=값 / 환경변수를 설정.
* :set nu 또는 :set number / 행 앞에 행 번호를 표시.
* :set nonu / 행 앞에 행 번호를 표시 안함.
* :set ignorecase / 문자열 검색시 대소문자 구분하지 않음.
* :set tabstop=탭간격 / 탭의 간격을 지정. (예, set tapstop = 15 -> 탭의 크기를 15로 설정)
* :set list / 개행문자, 탭문자 등을 표시.
'IT > Network' 카테고리의 다른 글
[ Home Network ]TP-Link 와이파이 익스텐더 설치 (0) | 2023.01.12 |
---|---|
[ Linux 마스터 2급 ] 리눅스 rpm 패키지와 패키지 관리 툴 (0) | 2019.07.22 |
[ Linux 마스터 2급 ] 리눅스 프로세스 관리 (0) | 2019.07.20 |
[ Linux 마스터 2급 ] Shell( 쉘 ) (0) | 2019.07.19 |
[ Linux 마스터 2급 ] 리눅스 권한부여, 설정 명령어 (0) | 2019.07.18 |