리눅스 텍스트 편집기 종류
행 단위 편집기 ed, ex, sed -> 특정 파일의 한 행만 보면서 명령어를 통해 안에 있는 내용을 편집
화면 단위 편집기 Vi, emacs
GUI 편집기 gedit
행 단위 편집기
- ed : 유닉스 초기의 행 편집기로 사용이 불편하여 거의 사용하지 않는다.
- ex : 행 편집기이지만 단독으로 사용하기 보다는 vi에 연결하여 vi를 더욱 강력하게 하는 다양한 기능을 제공
- sed : 스트림 편집기로, 일반 편집기와 달리 지시된 명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력할 수 있다.
화면 단위 편집기
- vi : 리눅스에서 일반적으로사용할 수 있는 화면 편집기
- emacs : 제공하는 기능이 매우 다양하지만 사용법이 어렵고 복잡하여 전문적인 애호가 위주로
사용한다. GNU 이맥스는 무료로 배포되며, 별도로 설치해야 한다.
모드형과 비모드형 편집기
모드형
- 입력 모드와 명령 모드가 구분되어 있다.
- 입력 모드는 텍스트를 입력할 수 있는 모드이고, 명령모드는 텍스트를 수정하거나 삭제하고
복사와 붙이기 등 편집을 하는 모드
비모드형
- 입력 모드와 명령 모드가 구분되어 있지 않다.
- 편집 기능을 Ctrl 이나 Alt같은 특수 키와 함께 사용한다.
VI & VIM - 텍스트 편집기
vi( Visual editor ) & vim( Vi IMproved )
- Linux에서 ㅓ가장 많이 사용하는 텍스트 편집기
- 현재는 vi의 여러 기능을 추가한 vim을 사용
- 비주얼 모드 ( visual Mode ) 지원
- 대표적인 모드형 편집기
- 다양한 운영체제에서 사용이 가능
vi의 동작 모드
명령 모드
esc i a o esc : ? /
입력모드 실행모드
(Insert Mode) ( Ex/Command Line Mode )
vim 설치 및 alias 설정
(1) #> yum -y install vim
(2) #> alias vi=vim
(3) #> alias
vi 실행
(4) #> vi
[1] vim 설치를 위해 yum 명령어를 이용하여 설치를 진행한다.
[2] vi 명령어를 이용하여 vim 명령이 실행되도록 alias 설정을 한다.
vim이 기본으로 설치되어 alias가 설정된 리눅스 배포판도 있다.
[3] 설정한 alias를 확인한다.
[4] vi 명령어를 이용하여 vim을 실행한다. 파일을 지정하지 않을 경우 내용을 편집한 후,
저장 시 파일의 이름을 지정할 수 있다.
------------------------------------------------------------------
(1) #> vi [file name]
ex)
(2) #> vi /etc/resolv.conf
(3) #> vi test_file
[1] 파일을 지정하여 vi를 실행할 경우, 존재하는 파일이면 해당 파일을 수정, 없는 파일이면 새로운 파일을 생성할 수 있다.
[2] /etc/resolv.conf 파일은 기존
[3]
--------------------------------------------------------------
입력 모드
i 현재 커서 위치에서 입력 모드로 전환
a 현재 커서 위치에서 한 칸 뒤로 이동한 후 입력 모드로 전환
o 현재 행 아래에 새로운 행을 하나 만든 후 입력 모드로 전환
I 현재 행의 맨 앞으로 이동 후, 입력 모드로 전환
A 현재 행의 끝으로 이동한 후, 입력 모드로 전환
O 현재 행 위에 새로운 행을 하나 만든 후 입력 모드로 전환
R 수정(replace) 모드로 작동
-------------------------------------------------------------------
커서 이동
k 위로 커서 이동
j 아래로 커서 이동
l 오른쪽으로 커서 이동
h 왼쪽으로 커서 이동
^ 행의 맨 앞으로 이동
$ 행의 맨 끝으로 이동
-------------------------------------------
파일 저장 및 종료
- 저장(w)
- 종료(q)
구분 명령키 기능
실행모드 :q 변경 내용이 없을 떄 종료한다.
:q! 변경 내용을 저장하지 않고 종료한다. (강제)
:w [파일명] 새로운 파일로 저장한다.
:wq 저장 후 종료한다.
:wq!
ZZ( shift )
'Server > Linux' 카테고리의 다른 글
Linux // 유저 패스워드 설정 (0) | 2018.01.17 |
---|---|
Linux // redirection, pipe (0) | 2018.01.15 |
Linux // 링크파일 (0) | 2018.01.10 |
Linux // 기본 명령어 3 (0) | 2018.01.09 |
Linux // 기본 명령어 2 (0) | 2018.01.08 |