박봉달의 개발생활

[프로그래밍:서버] UNIX #5 : vi 에디터 개요와 활용 / 명령어 본문

IT/UNIX

[프로그래밍:서버] UNIX #5 : vi 에디터 개요와 활용 / 명령어

박봉달 2021. 1. 13. 15:17
728x90

안녕하세요!

박봉달입니다!

유닉스는 특히 서버에 많이 쓰이는 운영체제입니다

우리가 많이 쓰는 윈도우와는 다른 방식으로 구성되어있는데요,

오늘은 유닉스(Unix) vi 에디터 개요와 활용 에 대해서 알아보도록 하겠습니다!


1. 유닉스 텍스트 에디터

* 유닉스 편집기

- 텍스트 파일의 작성, 편집 및 저장에 필요한 유틸리티 프로그램

- GUI 환경인 그놈에서 제공하는 gedit 으로 간단하게 문서 작성 가능

* 특징

- 커서와 화면 이동이 자유로움

- 파일의 편집 위치가 자유로움

- 편집기능이 다양

- vi에서 다루는 모든 자료는 일시적인 작업 할 수 있도록 버퍼에 파일의 사본을 만드므로 반드시 저장!

구분

종류

행 단위 편집

ed, ex, sed

화면 단위 편집

vi, emacs

GUI 편집기

gedit

* 행단위 편집

- ed : 유닉스 초기의 편집기, 사용 안함

- ex : 행 단위 편집기지만 vi 에디터에 연결하여 다양한 기능 제공

- sed : 스트림 편집기, 지시된 명령에 따라 파일의 내용을 일괄적으로 바꿔 출력

* 화면 단위 편집

- vi : 리눅스에서 일반적으로 사용하는 편집기

- emacs : 제공하는 기능이 다양하지만 사용법이 어렵고 복잡하여 전문가들이 애용


2. vi 에디터 사용법

* 시작과 종료

* vi 시작하고 종료 : vi 시작

- 파일을 지정할 경우 : 파일의 내용이 보이고 없는 파일이면 빈 파일

- 파일을 지정하지 않을 경우 : 빈 파일이 열림

* vi 종료

- 명령 모드나 마지막 행 모드에서 저장하고 종료 가능 (모드 변경 : esc)

- vi의 저장과 종료 명령 키

모드

명령 키

기능

마지막

행 모드

:q

vi 에 작업한 것이 없을 때 그냥 종료

:q!

작업한 내용을 저장하지 않고 그냥 종료

:w, :w! 파일명

작업한 내용을 저장만 하며, 파일 명을 지정하면 새 파일로 저장

:wq, :wq!

작업한 내용을 저장하고 vi를 종료

명령 모드

ZZ

작업한 내용을 저장하고 vi를 종료

* vi 명령 형식 : vi [옵션] [파일]

옵션

설명

-R

읽기 전용으로 파일 열기

-$

파일의 마지막 행으로 커서를 이동시키고 파일 열기

-n

n으로 지정된 행으로 커서를 이동시키고 파일 열기

-r

손상된 파일(작업 중 정전 등)을 복구시 이용

* vi 입력모드 전환

- 모든 입력이 끝나고 esc 누르면 명령모드로 바뀜

명령키

설명

i

- 커서 앞에 입력

- 현재 커서 자리에 입력

a

- 커서 뒤에 입력

- 현재 커서 다음 자리에 입력

o

커서가 위치한 행의 다음 행에 입력

I (대문자 i)

커서가 위치한 행의 다음 컬럼으로 이동해 입력

A

커서가 위치한 행의 마지막 컬럼으로 이동해 입력

O

커서가 위치한 행의 이전 행으로 이동해 입력

* 커서 행 이동

명령키

설명

k

커서를 한 행 위로 이동

j

커서를 한 행 아래로 이동

l

커서를 한 문자 오른쪽로 이동

h

커서를 한 문자 왼쪽로 이동

^ 또는 0

커서를 현재 행의 처음으로 이동

$

커서를 현재 행의 마지막으로 이동

-

커서를 이전 행의 처음으로 이동

+ 또는 [Enter]

커서를 다음 행의 처음으로 이동

H

커서를 화면의 맨 위 행으로 이동

M

커서를 화면의 중간 행으로 이동

L

커서를 화면의 맨 아래 행으로 이동

w

커서를 다음 단어의 첫글자 위치로 이동

b

커서를 앞 단어의 첫글자 위치로 이동

e

커서를 다음 단어의 마지막 위치로 이동

* 커서 화면 이동

- ^표시는 Ctrl 키를 의미

명령키

설명

^u(Ctrl+u)

반 화면 위로 이동

^d

반 화면 아래로 이동

^b

한 화면 위로 이동

^f

한 화면 아래로 이동

^y

화면을 한 행만 위로 이동

^e

화면을 한 행만 아래로 이동

 

* 내용 수정

명령키

설명

r

커서가 위치한 문자를 다른 문자로 수정

cw, #cw

- 커서 위치부터 현재 단어 끝까지 수정

- # : 수정할 단어 수 지정

(3cw는 커서의 위치부터 3단어 수정)

s, #s

- 커서의 위치부터 esc키를 입력할 때까지 수정

- 5s는 커서 위치부터 5글자 수정

cc

커서가 위치한 행의 내용 모두 수정

c

커서의 위치부터 행의 끝까지 수정

* 내용 삭제/취소

명령키

설명

x, #x

커서가 위치한 문자를 삭제

dw, #dw

커서가 위치한 단어를 삭제

dd, #dd

커서가 위치한 행를 삭제

u

방금 수행한 명령 취소

U

해당 행에서 수행한 모든 명령 취소

:e!

마지막으로 저장한 내용 이후의 것을 버리고 새로 작업

* 내용 편집

명령키

설명

yy, #yy

커서가 위치한 행 복사

p

커서가 위치한 행 아래쪽에 붙임

P

커서가 위치한 행 위쪽에 붙임

dd. #dd

커서가 위치한 행을 자름


3. vi 환경설정

* 모드형 편집기와 비모드형 편집기

* 모드형

- 입력 모드 : 텍스트를 입력할 수 있는 모드

- 명령 모드 : 텍스트를 수정하고 삭제하고, 복사와 붙이기 등 편집하는 모드

- esc : 입력모드 -> 명령모드

- 같은 글자라도 입력 모드에서는 텍스트로 처리하여 입력되고, 명령 모드에서는 편집 명령으로 사용

* 비모드형

- 입력 모드와 명령모드가 구분되어있지 않음

- 편집 기능을 Ctrl이나 Alt같은 특수키와 사용

- 한글과 워드는 비모드형 편집기

* 모드형과 비모드형 편집기 비교

구분

모드형(vi)

비모드형(메모장)

입력모드

텍스트 입력

명령 모드예

복사

yy

Ctrl + c

붙이기

p

Ctrl + v

저장

:wq, ZZ

Ctrl + s

모드 전환

i, a, o

해당 없음

* vi 환경 설정하기

- 사용자 홈 디렉터리에 .exrc 파일로 저장

- vim 편집기에는 ~/.vimrc이 추가되었으며, ~/.exrc와 함께 제공됨

- vi의 마지막 행 모드에서 명령으로 실행

* vi 환경 설정 명령 (set)

명령키

설명

set nu

파일 내용의 각 행에 행 번호 표시

set nonu

파일 내용의 각 행에 행 번호 감춤

set list

눈에 보이지 않는 특수문자 표시

set nolist

특수문자 감춤

set showmode

현재 모드 표시

set noshowmode

현재 모드 감춤

set

set으로 설정한 모든 vi 환경설정 값 출력

set all

모든 vi 환경 변수와 현재 값 출력

* 사용자별 환경 설정

- 유닉스는 처음 설치하면 기본적으로 /bin/sh와 /bin/csh가 깔림

- /bin/sh :

솔라리스 터미널에서 -> TERM=sun

모든 사용자에게 환경을 적용시키고 싶다면 -> /etc/profile

개인적으로 설정하고 싶다면 -> $HOME/.profile

- /bin/csh :

모든 사용자에게 환경을 적용시키고 싶다면 -> /etc/profile , /etc/cshrc

개인적으로 설정하고 싶다면 -> $HOME/.cshrc

* [/bin/bash]

- bash는 따로 설치해주어야 사용 가능

- 환경설정 시 -> export

- 설정된 환경 볼 때 -> set

export PATH=$PATH:/usr/bin:/usr/share/bin:/sbin:/usr/sbin

export TERM=xterm

- 모든 사용자에게 환경을 적용시키고 싶다면

/etc/profile

/etc/bashrc

- 개인적으로 설정하고 싶다면

$HOME/.bashrc


오늘은 vi 에디터에 대해서 알아보았습니다.

Linux 와 Unix에서 많이 사용되는 에디터이니 꼭 이해해야겠습니다.

이상으로 유닉스 포스팅을 마칩니다!

정리한 내용이 나중에 쓰이길 바라며 포스트를 마칩니다 :)

 

728x90
반응형