티스토리 뷰

OS/Linux

[Linux] vi editor 사용법

림국 2017. 11. 15. 16:07

[Linux] vi editor 사용법



-내용-

vi editor 의 사용법에 대하여 설명합니다.

vi editor의 동작은 명령모드, 입력모드, 실행모드 총 3가지 모드에서 실행됩니다. 모드를 변경할 때 사용되는 key는 상위 그림과 같습니다.


vi editor에서 사용되는 방향키입니다.




입력모드

key 

동작 

i

 insert(커서에서 입력모드 전환)

 append(커서 뒤에서 입력모드 전환)

$a 

 행뒤에서 입력모드 전환 

o

 커서 아래에 새로운행 추가(Enter키) 

O

 커서 위에 새로운행 추가 




명령모드

key

분류

작 

u

 되살리기/앞돌리기

되살리기 

ctrl + i

앞돌리기 

^F

 페이지 이동

앞 페이지로 이동 

^B

뒤 페이지로 이동 

W , w

 커서이동(단어단위)

 대문자 : 특수기호 무시

 소문자 : 특수기호 인식

단어의 처음으로 이동

E , e

다음 단어의 끝으로 이동 

B , b

현 단어의 앞으로 이동

0 , ^

 커서이동(행단위)

행의 처음으로 이동(Home 키) 

$

행의 마지막으로 이동(End 키) 

G

 커서이동(문서단위)

문서의 마지막으로 이동 

<n>G

n번째 행으로 이동 

gg

문서의 처음으로 이동=1G 

H

 커서이동(화면단위)

현재 보이는 화면에서 상으로 이동

M

현재 보이는 화면에서 중으로 이동

L

현재 보이는 화면에서 하로 이동 

 n / shift + n

 커서이동(검색된 문자열 단위)

검색한 문자열에 한하여 커서를 위/아래로 이동

x

 삭제(문자단위)Delete 키 

X

Backspace 키 

dw

 삭제(단어단위)단어삭제 

d<n>w

다음 n개의 단어를 삭제 

dd

 삭제(문장단위)한줄 삭제/잘라내기 

d$

현재 커서 위치부터 문장 끝까지 삭제 

d0

현재 커서 위치부터 문장 앞까지 삭제 

숫자 + dd

 삭제(블록단위)

현재 커서 위치부터 숫자만큼 블록 삭제/잘라내기 

dG

현재 커서 위치부터 문서 끝까지 삭제 

yy

 복사(문장단위)한줄 복사 

숫자 + yy

 복사(블록단위)현재 커서 위치부터 숫자만큼 블록 복사

p

 붙혀넣기현재 커서 아래에 붙혀넣기 

P

현재 커서 위에 붙혀넣기 

J

 행 병합2개의 행을 하나로 병합 

 Ctrl + ww

 창 전환

vs로 나뉘어진 vi editor 창 전환 

 gg=G

 공백 정리

windows/linux간 발생하는 텍스트 환경 변형(ex 줄바꿈 문자)을 자동으로 수정해준다 




실행모드

key 

분류 

동작 

:sh

 명령어 실행

쉘 명령어 실행  (exit : vi 편집기로 돌아가기) 

/pattern

 검색

아래로 Pattern 검색

(n : 아래로 탐색, N : 위로 탐색)

?pattern

위로 Pattern 검색 

(n : 위로 탐색, N : 아래로 탐색)

:[범위]s/[old]/[new]/[옵션]

 치환

범위 내 old를 new로 치환 

[범위] : n(n번째줄) n,m(n~m까지) %(모든범위)

[옵션] : g(적용되는 범위의 모든 부분 변경)

:![command]

 shell 명령어 실행

vi를 잠시 중단하고 명령어 수행 

:.![command]

command의 결과를 해당 라인에 삽입 

:e[filename]

 파일 관련

불러오기 

:enew

새로 만들기 

:q

변경 내용이 없는 경우 vi 종료 

:q!

강제 종료 

:w

저장 

:wq

저장 후 종료 

:w >> [filename]

 파일 및 실행 관련

현재 파일 내용을 추가하여 filename에 저장 

:f

현재 파일의 이름과 라인 수

:[n]r[filename]

filename 파일의 내용을 n+1 라인에 삽입 

:[n]r![command]

command 실행 결과를 n+1 라인에 삽입 

:set nu

 라인번호

줄번호 생성(활성화) 

:set nonu

줄번호 비활성화 

:set ai

 -

라인 변경시 바로 위라인의 커서 위치와 동일한 위치로 설정(디폴트) 

 :vs

 여러 파일 편집시

vi editor 양쪽으로 나누기 

 :buffers

현재 vi editor에서 사용중인 파일 목록

 :b숫자

현재 사용중인 vi를 buffer에 저장된 파일로 변경 



'OS > Linux' 카테고리의 다른 글

[Linux] Apache Access Log 분석  (0) 2018.03.05
[Linux] 보안을 위한 /etc/sysctl.conf 파일 수정  (0) 2018.02.02
[Linux] 압축과 보관  (0) 2017.11.23
[Linux] User Account Management  (0) 2017.11.19
[Linux] Log Files  (0) 2017.11.18
댓글