본문 바로가기
IT일반/Linux

VI editor reference

by 버섯도리 2022. 6. 21.

1)  글자 입력

A : 해당 라인의 끝에 추가

I : 해당 라인의 처음에 추가

o : cursor 아래 새로운 라인에 추가

O : cursor 위 새로운 라인에 추가


2) 위치 이동

w : 다음으로 단어 이동 SHIFT-w : 다음으로 단어 이동 (구두점 기호 무시)

b : 이전으로 단어 이동 SHIFT-b : 이전으로 단어 이동 (구두점 기호 무시)

e : 현재 단어의 끝으로 이동

0 : 현재 라인 처음으로 이동

^ : 현재 라인의 공백을 제외한 글자로 이동

$ : 현재 라인 마지막으로 이동

Ctrl + f or b : 한 페이지 아래로(f), 한 페이지 위로(b)

Ctrl + d or u : 반 페이지 아래로(d), 반 페이지 위로(u)

Ctrl + I : Screen Refresh

G : 마지막 라인으로 이동

1G : 처음 라인으로 이동

:21 : 21번 라인으로 이동


3) 글자 삭제

dw : 위치한 곳에서 한 단어 삭제

dd : 현재 라인 삭제

d$, D : 위치한 부터 현재 라인 마지막까지 삭제

d0 : 위치한 부터 현재 라인 처음까지 삭제

d^ : 위치한 부터 현재 라인의 공백이 아닌 첫번째 글자까지 삭제

dG : 현재 라인부터 파일 끝까지 삭제

d20G : 현재 라인부터 파일의 20번째 줄까지 삭제

:5, 10d : 5번째부터 10번째 라인 삭제


4) 글자 변경

J : 현재 라인과 아래쪽 라인 Join

xp : cursor가 위치한 문자와 오른쪽 문자 교체

~ : 대소문자 변경

u : 이전 command undo

U : 현재 라인의 모든 변경 undo

:r filename : cursor가 위치한 곳에 다른 파일 삽입


5) 글자 검색

fa : 현재 라인에 있는 a 문자 검색

/string : 해당 string을 아래로 진행하며 검색

?string : 해당 string을 위로 진행하며 검색

n : string의 다음 위치 검색

N : string의 이전 위치 검색

:%s/old/new/g : file에서 'old' 문자를 'new' 문자로 교체

 -> % : 1번째 줄에서 마지막 줄까지

 -> 2,3 : 2번째 줄에서 3번째 줄까지

 -> 2,$ : 2번째 줄에서 마지막 줄까지

 -> 지정하지 않으면 현재 줄까지

 -> 마지막에 c 붙일 경우 하나 하나 치환 여부를 물어보고 변경.


6) Copy & Paste

yy : 커서가 있는 줄을 복사

yw : 위치한 곳에서 단어 복사

y$ : 위치한 부터 현재 라인 마지막까지 복사

y0 : 위치한 부터 현재 라인 처음까지 복사

y^ : 위치한 부터 현재 라인의 공백이 아닌 첫번째 글자까지 복사

yG : 현재 라인부터 파일 끝까지 복사

y20G : 현재 라인부터 파일의 20번째 줄까지 복사

p : 커서가 위치한 아랫줄에 붙여넣기

P : 커서가 위치한 윗줄에 붙여넣기

:1, 3 co 5 : 1~3번 라인을 복사하여 5번 라인 다음에 붙여넣기

:4, 6 m 8 : 4~6번 라인을 복사하여 8번 라인으로 이동

vi a.txt b.txt -> a.txt에서 yy -> :buffer 2 -> p 명령어 등으로 다른 파일로 복사 가능

 -> 다중 파일 열기 후 파일 간 전환 가능 :n(다음), :N(이전)

 -> :buffers : 수정 중인 파일 목록 보기

 -> :e c.txt : 추가로 파일을 열 수 있다. (파일 전환시 :n, :N은 불가능하고 :buffer 3 명령어로 가능)


7) 저장하기

:w new_filename : new_filename으로 저장

:q! : 변경사항 저장하지 않고 종료

:wq!, ZZ : 변경사항 저장하고 종료

 

8) 각종 설정

:set nu : 라인 번호 보기

:set nonu : 라인 번호 숨기기

:set ic : 검색시 대소문자 무시

:set noic : 검색시 대소문자 구분

:set list : tab이나 end-of-line 숨겨진 문자 보이기

:set nolist : tab이나 end-of-line 숨겨진 문자 숨기기

:set showmode : 작업모드 보이기

:set noshowmode : 작업모드 숨기기

:set : 현재 설정된 변수 보기

:set all : 현재 설정된 변수 + 모든 변수 보기

:syntax on : 문법 하이라이팅 활성화



etc.

 

:%s/₩s₩+$// ====> 공백 제거

'IT일반 > Linux' 카테고리의 다른 글

Command Line - 그 외 유용한 툴들  (0) 2022.06.22
Command Line - 배열  (0) 2022.06.18
Command Line - 문자열과 수  (0) 2022.06.17
Command Line - 흐름 제어 : for 루프  (0) 2022.06.13
Command Line - 위치 매개변수  (0) 2022.06.08