gedit
$ gedit
X 윈도우에서 제공하는 편리한 에디터
vi 에디터
= visual; 모든 유닉스/리눅스 시스템에 기본으로 포함되어 있는 text-based 에디터
특히, 텍스트 모드로 설정한 Server(B)에서는 X 윈도우 창을 열 수 없기 때문에 gedit을 사용할 수 없다,, 따라서 vi 사용법에 익숙해져야 한다.
centOS 8에서는 자동으로 vi 에디터를 좀 더 편리하게 사용할 수 있는 vim 에디터가 설치되어 있다. 그냥 vi 에디터는 오로지 키보드에만 의존하여 많은 부분 제한적이다.
$ vi [파일]
명령모드: 입력모드 또는 ex모드에서 [ESC]키를 눌러 진입
입력모드: 문서를 작성하는 실제 작업
ex 모드(=라인 명령 모드): 명령모드에서 콜론(:)을 입력하고 실행
[명령모드: 커서 이동]
h | ← | j | ↓ |
k | ↑ | l | → |
Ctrl + F | 다음 화면으로 이동([PgDn]) | Ctrl + B | 이전 화면으로 이동([PgUp]) |
^(Shift+6) | 현재 행의 처음으로 이동([Home]) | $(Shift+4) | 현재 행의 마지막으로 이동([End]) |
gg | 제일 첫 행으로 이동 | G(Shift+G) | 제일 끝 행으로 이동 |
숫자G (숫자+Shift+G) |
해당 숫자의 행으로 이동 | :숫자[Enter] | 해당 숫자의 행으로 이동 |
[명령모드: 삭제, 복사]
x | 현재 커서가 위치한 글자 삭제 | X(Shift+x) | 현재 커서가 위치한 앞 글자 삭제([BackSpace]) |
dd | 현재 커서의 행 삭제 | 숫자dd | 현재 커서부터 숫자만큼의 행 삭제 |
yy | 현재 커서가 있는 행 복사 | 숫자yy | 현재 커서부터 숫자만큼의 행 복사 |
p | 복사한 내용을 현재 행 이후에 붙여넣기 | P | 복사한 내용을 현재 행 이전에 붙여넣기 |
[명령모드: 문자열 찾기]
/문자열 | 현재 커서 이후에서 해당 문자열 찾기 | n | 찾은 문자 중 다음 문자로 이동 |
N | 찾은 문자 중 이전 문자로 이동 |
[명령모드→입력모드]
i | 현재 커서의 위치부터 입력(insert) | I | 현재 커서 줄의 맨 앞에서부터 입력 |
a | 현재 커서의 위치 다음 칸부터 입력(append) | A | 현재 커서 줄의 맨 마지막부터 입력 |
o | 현재 커서의 다음 줄에 입력 | O | 현재 커서의 이전 줄에 입력 |
s | 현재 커서 위치의 한 글자를 지우고 입력 | S | 현재 커서의 한 줄을 지우고 입력 |
[ex모드(라인 명령 모드)]
:명령어[Enter]
q | 종료(quit) | q! | 기존에 변경된 내용은 무시하고 종료 |
wq | 저장하고 종료(write and quit) | ||
set number | vi 에디터 앞에 행 번호 표시 | %s/기존문자열/새문자열 | 기존의 특정 문자열을 새 문자열으로 치환 |
실습 1
1. $ vi new.txt
[A] 또는 [I] 키로 입력모드로 전환하고 글자를 입력한다. 모두 입력하고 난 후 [ESC]키를 눌러 명령모드로 전환하고 [:]키를 눌러 ex모드로(라인명령모드) 전환한다. ":wq"로 저장하고 종료하게 한다.
만약 수정한 내용을 저장하고 싶지 않으면 ":q!"를 입력하면 저장하지 않고 그대로 종료한다.
실습2 - 치환
실습3 - 비정상 종료된 파일 해결법
1. 비정상 종료하기
우선 파일을 하나 만들어 저장한다.
파일을 수정하고 터미널 강제로 닫는다.
2. 비정상종료된 파일 확인
비정상종료된 파일은 .swp(swap file)로 저장된다. 이 형식의 파일이 있다는 의미는 기존 작업이 정상적으로 종료되지 않았다는 의미이다.
다시 터미널을 열어 # vi test1.txt 명령을 실행하자 위와 같은 창이 나온다. 수정한 내용을 복구할 수는 없지만 이런 오류메시지가 뜨지 않도록 하는 방법을 실행해보면
3. 스왑파일 삭제
# rm -f test1.txt.swp
해당 스왑파일을 삭제한다.
참고도서: 이것이 리눅스다 with RedHat CentOS 8 (개정판) _우재남 (한빛미디어)
'System > OS - Linux' 카테고리의 다른 글
[Linux/CentOS] 프로그램 설치 - RPM, DNF (0) | 2020.10.19 |
---|---|
링크, ln 명령어 (0) | 2020.10.04 |
[리눅스 명령어] 도움말 사용법 - man (0) | 2020.09.19 |
LINUX 기초 개념 - 시작과 종료, 재부팅, 가상콘솔, 자동완성, history (0) | 2020.09.16 |
CentOS Client 가상 머신 설치 (0) | 2020.09.14 |