본문 바로가기
IT 이야기 - About IT

[Unix & Linux] 자주 쓰는 vi editor 명령어

by 회사원 주씨 2013. 9. 27.
반응형

서버 관리자들에게 vi editor는 필수가 아닐까 합니다.

 

처음에는 불편하고 어렵지만 익숙해지면 정말 편하고 좋은 것이죠~

 

그래서 자주 사용하는 vi editor 명령어를 적어 봅니다.

(예전에 메모장에 정리해서 출력해놓고 사용했던 기억이 새록새록하네요.)

 

<시작 명령어>

 

vi filename
vi +18 filename
vi +/”문자열” fn
vi –r filename
view filename 

파일열기, 작성
18행으로 파일 열기
“문자열”의 처음발생 단어부터 열기
손상된 파일 회복
읽기 전용

 

<커서 이동>

 

h
j

k

l

w
e
b
Enter
Back space
Space Bar
^
$
H
M
L
숫자G

Ctrl + i
Ctrl + b
Ctrl + d
Ctrl + u
Ctrl + e
Ctrl + y

왼쪽으로 커서 이동
아래로 커서 이동
위로 커서 이동
오른쪽으로 커서 이동

오른쪽 한 단어의 끝 부분으로 커서 이동
오른쪽 한 단어의 앞 부분으로 커서 이동
왼쪽 한 단어의 앞 부분으로 커서 이동
한 행 아래로 커서 이동
한 문자 왼쪽으로 커서 이동
한 문자 오른쪽으로 커서 이동
행의 맨 왼쪽으로 커서 이동
행의 맨 오른쪽으로 커서 이동
화면의 맨 위로 이동
화면의 중간으로 이동
화면의 맨 아래로 이동
‘숫자’ 만큼 지정한 줄로 커서 이동

한 화면 위로 이동
한 화면 아래로 이동
반 화면 위로 이동
반 화면 아래로 이동
한 줄씩 위로 이동
한 줄씩 아래로 이동

 

<문자, 행, 삽입>

 

a   (종료 : ESC)

i
I
o
O 

커서 오른쪽에 문자 삽입
커서 오른쪽, 행의 끝에 문자 삽입
커서 왼쪽에 문자 삽입
커서 왼쪽, 행의 처음에 문자 삽입
커서 아래에 행 삽입
커서 위에 행 삽입

 

<텍스트 변경>

 

cw  (종료 : ESC)
cc
C
s
S
r
r-Enter
J
xp
~
u
U

 

단어 변경
행 변경
커서 오른쪽의 행 변경
커서가 위치한 문자열 대체
커서가 위치한 라인의 문자열 대체
커서 위치 문자를 다른 문자로 대체
행 분리
현재 행과 아래 행 결합
커서 위치 문자와 오른쪽 문자 교환
문자형(대, 소문자) 변경
이전 명령 취소
행 변경 사항 취소
이전 최종 행 취소
이전 최종 명령 반복

 

<텍스트 삭제>

 

x
5x
dw
dd
5dd
db
D
:5,10d 

커서가 있는 문자 삭제
커서가 있는 위치부터 5개의 문자를 삭제
현재 커서에 있는 한 단어 삭제
커서가 있는 라인 삭제
커서가 있는 라인부터 5개의 라인 삭제
커서의 위치에서 거꾸로 한 단어 삭제
커서 오른쪽 행 삭제
5~10번째 행 삭제

 

<복사 및 이동>

 

yy
Y
p
P
:1,2 co 3
:4,5 m 6 

행 yank 또는 복사
행 yank 또는 복사
yank 되거나 삭제된 행 현재 행 위로 삽입
yank 되거나 삭제된 행 현재 행 아래에 삽입
1~2행을 3행 다음으로 복사
4~5행을 6행 위로 이동

 

<행 번호 설정>

 

:set nu
:set nonu 

행 번호 표시
행 번호 숨기기

 

<행 찾기>

 

G
21G
Ctrl + G 

파일의 마지막 행으로 가기
파일의 21번째 행으로 가기
현재 File name과 커서의 라인 정보

 

<탐색 및 대체>

 

/검색할 문자열/
?검색할 문자열?
n
N
:g/search-string/s/
/replace-string/gc
:s/str/rep
:1,.s/str/rep/
:%s/str/rep/g
:.$/aaa/bbb

오른쪽 아래 방향으로 문자열 검색
왼쪽 위 방향으로 문자열 검색
문자열의 다음으로 계속 검색
문자열의 이전으로 계속 검색
각 발생 탐색 후 확인하고 대체

현재 행의 str을 rep로 대체
1부터 현재 행의 str을 rep로 대체
파일 전체 str을 rep로 전부대체
커서의 위치로부터 파일의 끝까지 있는
모든 aaa를 bbb로 대체

 

<화면 정리>

 

Ctrl + l 

 불필요한 화면정리 후 다시 표시

 

<파일 명령어>

 

:r filename
:34 r filename 

커서 다음에 파일 삽입
파일을 34번째 행 다음에 삽입

 

<보관 및 종료>

 

:w
:w filename
:wp
ZZ
:q!
q
e! 

변경사항 보관
버퍼를 파일로 보관
변경사항 보관 후 vi 종료
변경사항 보관 후 vi 종료
변경사항 보관하지 않고 종료
수정한 파일을 저장하지 않고 vi 종료
수정한 것을 무시하고 다시 편집상태로

 

 

예전에는 대부분 외우고 있던 것들인데

 

지금은 열손가락으로 꼽을 수 있을 정도만 기억하는구나. ㅠㅠ



 

 

 

728x90