728x90
반응형
학습내용
- 1. 유닉스의 텍스트 에디터
- 2. vi 사용법
- 3. vi 환경설정
학습목표
- 1. 유닉스의 텍스트 에디터의 종류를 설명할 수 있다.
- 2. vi 에디터의 모드형과 비모드형을 구분하고, vi 에디터를 시작할 수 있다.
- 3. vi 에디터를 편리하게 사용하기 위한 환경을 설정할 수 있다.
유닉스 편집기
- 텍스트 파일의 작성, 편집 및 저장에 필요한 유틸리티 프로그램
- GUI 환경인 그놈에서 제공하는 gedit으로 간단하게 문서 작성이 가능
- 특징
- 커서와 화면 이동이 자유로움
- 파일의 편집 위치가 자유로움
- 편집 기능이 다양
- vi에서 다루는 모든 자료는 일시적인 작업을 할 수 있도록 버퍼에 파일의 사본을 만드므로, 반드시 저장해야 함
구분 | 종류 |
행 단위 편집기 | ed, ex, sed |
화면 단위 편집기 | vi, emacs |
GUI 편집기 | gedit |
행 단위 편집기
- ed
- 유닉스 초기의 행 편집기로 사용이 불편하여 거의 사용 않음
- ex
- 행 편집기이지만 단독으로 사용하기보다는 vi에 연결하여 vi를 더욱 강력하게 하는 다양한 기능을 제공
- sed
- 스트림 편집기로, 일반 편집기와 달리 지시된 명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력해줌
화면 단위 편집기
- vi
- 리눅스에서 일반적으로 사용할 수 있는 화면 편집기
- emacs (이맥스)
- 제공하는 기능이 매우 다양하지만 사용법이 어렵고 복잡하여 전문적인 애호가 위주로 사용
vi사용법
vi 시작하고 종료하기: vi 시작
- 파일을 지정할 경우
- 해당 파일이 있으면 파일의 내용이 보이고, 없는 파일이면 빈 파일이 열림
- 파일을 지정하지 않을 경우
- 그냥 빈 파일이 열림(파일명은 저장할 때 지정 가능)
vi 시작하고 종료하기: vi 종료
- 명령 모드나 마지막 행 모드에서 저장하고 종료 가능
- vi의 저장과 종료 명령 키
- 마지막 행 모드
- :q
- vi에 작업한 것이 없을 때 그냥 종료함
- :q!
- 작업한 내용을 저장하지 않고 종료함
- :w, :w! 파일명
- 작업한 내용을 저장만 하며, 파일명을 지정하면 새 파일로 저장함
- :wq, :wq!
- 작업한 내용을 저장하고 vi를 종료함
- :q
- 명령 모드
- ZZ
- 작업한 내용을 저장하고 vi를 종료함
- ZZ
vi 명령 형식: vi [옵션][파일]
- -R
- 읽기 전용으로 파일 열기
- -$
- 파일의 마지막 행으로 커서를 이동시키고 파일 열기
- -n
- n으로 지정된 행으로 커서를 이동시키고 파일 열기
- -r
- 손상된 파일(작업중 정전 등)을 복구할 때 이용
vi 입력 모드 전환
모든 입력이 끝나고 ESC를 누르시면 다시 명령 모드로 바뀜
- i
- 커서 앞에 입력
- 현재 커서 자리에 입력
- a
- 커서 뒤에 입력
- 현재 커서 다음 자리에 입력
- o
- 커서가 위치한 행의 다음 행에 입력
- l
- 커서가 위치한 행의 첫 칼럼으로 이동해 입력
- A
- 커서가 위치한 행의 마지막 칼럼으로 이동해 입력
- O
- 커서가 위치한 행의 이전 행에 입력
vi 커서 이동
- k
- 커서를 한 행 위로 이동
- j
- 커서를 한 행 아래로 이동
- l
- 커서를 한문자 오른쪽으로 이동
- h
- 커서를 한문자 왼쪽으로 이동
- ^ 또는 0
- 커서를 현재 행의 처음으로 이동
- $
- 커서를 현재 행의 마지막으로 이동
- -
- 커서를 이전 행의 처음으로 이동
vi 커서 이동
- + 또는 [Enter]
- 커서를 다음 행의 처음으로 이동
- H
- 커서를 화면의 맨 위 행으로 이동
- M
- 커서를 화면의 중간 행으로 이동
- L
- 커서를 화면의 맨 아래 행으로 이동
- w
- 커서를 다음 단어의 첫글자 위치로 이동
- b
- 커서를 앞 단어의 첫글자 위치로 이동
- e
- 커서를 다음 단어의 마지막 위치로 이동
커서 화면 이동
보통 리눅스에서는 ^를 ctrl 키 취급을 한다. == ^ -> ctlr 눌러라
- ^u(Ctrl+u)
- 반 화면 위로 이동
- ^d
- 반 화면 아래로 이동
- ^b
- 한 화면 위로 이동
- ^f
- 한 화면 아래로 이동
- ^y
- 화면을 한 행만 위로 이동
- ^e
- 화면을 한 행만 아래로 이동
vi 내용 변경
- r
- 커서가 위치한 문자를 다른 문자로 수정
- cw, #cw
- 커서 위치부터 현재 단어 끝까지 수정
- #: 수정할 단어 수 지정 (3cw는 커서의 위치부터 3단어 수정)
- s, #s
- 커서의 위치부터 ESC키를 입력할 때까지 수정
- 5s는 커서 위치부터 5글자 수정
- cc
- 커서가 위치한 행의 내용을 모두 수정
- c
- 커서의 위치부터 행의 끝까지 수정
vi 내용 변경
- x, #x
- 커서가 위치한 문자를 삭제
- dw, #dw
- 커서가 위치한 단어를 삭제
- dd, #dd
- 커서가 위치한 행을 삭제
- u
- 방금 수행한 명령 취소
- U
- 해당 행에서 수행한 모든 명령 취소
- :e!
- 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업
vi 내용 변경
- yy, #yy
- 커서가 위치한 행 복사
- p
- 커서가 위치한 행의 아래쪽에 붙임
- P
- 커서가 위치한 행의 위쪽에 붙임
- dd, #dd
- 커서가 위치한 행을 자름
vi 환경설정
모드형
- 입력 모드
- 텍스트를 입력할 수 있는 모드
- 명령 모드
- 텍스트를 수정하고, 삭제하고, 복사와 붙이기 등 편집을 하는 모드
- 같은 글자라도 입력 모드에서는 텍스트로 처리하여 입력되고, 명령 모드에서는 텍스트로 입력되는 것이 아니라 편집 명령으로 사용
- vi는 모드형 편집기
비모드형
- 입력 모드와 명령 모드가 구분되어 있지 않음
- 편집 기능을 Ctrl이나 Alt 같은 특수 키와 함께 사용
- 한글과 워드는 비모드형 편집기
vi 환경 설정하기
- 사용자 홈 디렉터리에 .exrc 파일로 저장
- vim 편집기에서는 ~/.vimrc이 추가되었으며 ~/.exrc와 함께 제공됨
- vi의 마지막 행 모드에서 명령으로 실행
vi 환경 설정 명령(set) I vi 환경 설정 명령과 옵션
- set nu
- 파일 내용의 각 행에 행 번호를 표시함 (보이기만 할 뿐 저장되지는 않음)
- set nonu
- 행 번호를 감춤
- set list
- 눈에 보이지 않는 특수문자를 표시함(tab:^l, eol:$ 등)
- set nolist
- 특수문자를 감춤
- set showmode
- 현재 모드를 표시함
- set noshowmode
- 현재 모드를 감춤
- set
- set으로 설정한 모든 vi 환경 설정 값을 출력함
- set all
- 모든 vi 환경 변수와 현재 값을 출력함
사용자별 환경 설정
- 유닉스는 처음 설치하면 기본적으로 /bin/sh 와 /bin/csh가 깔림
- /bin/sh
- 특별한 키워드 없이 환경설정
- 설정된 환경 볼 때 ⇒ set
- PATH잡을 때 : ⇒PATH=$PATH:/usr/bin: /usr/share/bin:/usr/ucb
- vi에서 화면 스크롤이 잘 안 될때 ⇒TERM=xterm
- 솔라리스 터미널에서 ⇒TERM=sun
- 모든 사용자에게 환경을 적용시키고 싶다면 ⇒/etc/profile
- 개인적으로 설정 하고 싶다면 ⇒$HOME/.profile
- /bin/csh
- 환경설정 할 때 ⇒ setenv
- 설정된 환경 볼 때 ⇒ set
- setenv TERM xterm setenv PATH $PATH:/usr/bin:/usr/loca l/bin:/usr/ucb
- 모든 사용자에게 환경을 적용시키고 싶다면 /etc/profile /etc/cshrc
- 개인적으로 설정 하고 싶다면 $HOME/.cshrc
앞에 $가 붙으면 환경설정 변수 !
환경설정 변수는 묵시적으로 대분자로 약속!
bash는 따로 설치해주어야 사용
- [/bin/bash]
- 환경설정 할 때 ⇒ export
- 설정된 환경 볼 때 ⇒ set export PATH=$PATH:/usr/bin:/usr/share/bin:/sbin:/usr/sbin export TERM=xterm
- 모든 사용자에게 환경을 적용시키고 싶다면 /etc/profile /etc/bashrc
- 개인적으로 설정 하고 싶다면 $HOME/.bashrc
728x90
반응형
'TEAM STUDY > LINUX' 카테고리의 다른 글
[ 리눅스 마스터 ] 디렉토리 ? (0) | 2021.01.13 |
---|---|
vi 입력과 수정 (0) | 2021.01.10 |
유닉스의 디렉토리 조작하기 (0) | 2021.01.03 |
유닉스 디렉토리 계층 구조 (1) | 2021.01.02 |
GRUB 패스워드 설정 (0) | 2020.12.30 |