▣ vi
vi(visual editor) : 리눅스나 유닉스에서 일반적으로 사용하는 텍스트 편집기. 자체 윈도우가 있는 것이 아니라 터미널에서 실행 되고, 메뉴가 없다.
◎ vi 는 세가지 상태(모드,Mode)가 있다.
1) 명령상태 또는 esc 상태
2) 입력상태 또는 편집 상태
3) ex상태 또는 :(콜론) 상태 또는 실행 상태
vi 를 실행하면 처음상태가 명령상태이다. 키보드 입력이 하나의 명령으로 동작한다.
i(insert) 나 a(append) 를 누르면 입력상태로 전환된다.
(왼쪽하단에 -끼워넣기- 또는 -INSERT- 로 표시됨)
다시 명령상태로 전환하려면 esc 키를 누르면 된다.
ex 상태는 콜론(:) 으로 시작하는 상태를 말한다.
:set nu ---> 라인번호 출력
:set nonu ---> 라인번호 해제
처음 vi 를 실행하면 명령상태 이므로 아래 문자키를 입력하여 입력상태로 만들고 입력을 하게 된다.
◎ 입력상태
i -- 현재 커서 앞쪽에 입력
a -- 현재 커서 뒤쪽에 입력
I -- 현재 라인 처음에 입력(라인이 공백으로 시작하면 실제 단어 앞에 입력 됨)
A -- 현재 라인 마지막에 입력
o -- 현재 라인 아래에 새로운 줄을 만들고 입력
O -- 현재 라인 위쪽에 새로운 줄을 만들고 입력
s -- 현재 커서의 글자 삭제후 입력
S -- 현재 라인 삭제후 입력
◎ 삭제( 명령상태에서 입력)
x 또는 delete 키 -- 현재 커서 문자 한자 삭제
X -- 현재 커서 앞의 글자 삭제
dd -- 한 줄 삭제
숫자 + dd -- 현재 커서부터 숫자만큼 행 삭제
d$ -- 현재 커서 부터 현재 라인의 마지막까지 삭제
($는 마지막을 의미)
d0 -- 현재 커서 앞 문자부터 라인의 처음부분까지 삭제
(숫자 0 은 처음을 의미)
d^ --현재 커서 앞 문자부터 라인의 처음부분까지 삭제
(^ 는 처음을 의미)
dw -- 단어 삭제(단어의 첫번째 글자에 커서를 위치 시켜야 함)
u -- undo, 작업 취소
◎ 교체(Replace)
r -- 한 자 교체
R -- 여러 글자 교체
cw -- 한 단어 교체(단어의 첫번째 철자에 커서를 위치시켜야 함)
cc -- 한 줄 교체(Change entire line)
◎ 저장 및 종료 또는 저장하지 않고 종료
명령상태로 바꾼 다음(esc) 아래 명령을 입력
:q (저장하지 않고 종료, q ---> quit)
:w (파일 저장)
:wq (저장후 종료, w ---> write, q ---> quit)
vi 실행시 파일명을 지정하지 않았으면 리눅스 명령어 상태로 나올 때 저장할 파일명을 입력해야 한다. (:wq 파일명)
:q! (저장하지 않고 강제 종료)
:wq! (저장후 강제종료)
◎ 문자키를 이용한 커서 이동하기(명령상태에서 하기)
k(위)
h(왼쪽) l(오른쪽)
j(아래)
0(숫자 영) : 행의 처음으로 이동
$ : 행의 마지막으로 이동
G : 문서의 마지막으로 이동
gg : 문서의 처음으로 이동
33번 라인으로 이동하기 -- 33G 또는 :33 엔터
PgUP, PgDN : 페이지 이동
◎ 검색
① 위에서 아래로 검색
/검색단어(명령상태에서 / 누르고 검색단어 입력후 엔터)
n 을 누르면 다음 단어로 이동된다.
N 을 누르면 이전 단어로 이동
② 아래에서 위로 검색
?검색단어
n 을 누르면 위 방향으로 계속 찾기
N 을 누르면 아래 방향으로 계속 찾기
◎ 복사 및 붙여넣기
한줄 복사 -- yy (yank)
숫자 + yy -- 현재 커서부터 숫자 만큼의 행을 복사
한줄 붙여넣기 -- p (paste) -- 현재 라인 아래 줄에 붙여넣기
P(대문자) -- 현재 라인 윗 줄에 붙여 넣기
◎ ex 모드
① vi 상태에서 리눅스 명령어 실행
:!명령어
:!cal
:.!cal -- 현재 커서 위치에 리눅스 명령어 결과를 가져오기
② 색상 적용하기
:color evening
:color morning
:color default
:!ls /usr/share/vim/vim72/colors/ -- 적용할 수 있는 색상 단어 확인(VI 상태)
#ls /usr/share/vim/vim72/colors/ -- 적용할 수 있는 색상 단어 확인(터미널 상태)
③ split(화면 분할)
vim 은 vi 를 개선한 프로그램(Vi Improved)
#vim test.txt
:split(수평 분할, 원래 파일 화면)
:vs(수직 분할, 원래 파일 화면)
ctrl + ww -- 창간의 이동
ctrl + wn -- 수평분할(빈 화면)
ctrl + wv -- 수직분할(빈 화면)
:e 파일명 -- 지정한 파일 열기
:enew -- 현재 문서를 닫고 새로운 빈문서 열기
◎ vi 치환
① 사용방법
s : search
:1,10s/원래단어/바꿀단어 ---> 1번 라인에서 10번 라인까지 변경
:%s/원래단어/바꿀단어 ---> 파일 전체에서 첫번째 단어만 변경
:%s/원래단어/바꿀단어/g ---> 파일 전체에서 한 줄의 모든 단어 변경(g 는 global 을 의미)
② 사용예제
#vim linux.txt
apple
apple apple apple
orange
orange orange orange
mango
mango mango mango
위와 같이 입력후
:%s/apple/tico (명령상태에서 입력후 엔터-결과 확인)
:%s/orange/matiz/g
:set nohls -- 검색 단어 강조해제
:set hls -- 검색 단어 강조
◎ VI 설정 파일 사용하기
① 사용방법
vi 설정파일 ---> .vimrc
로그인한 계정의 홈디렉토리에 존재해야 한다.
루트의 경우에는 /root 에 존재해야 한다.
② 사용예제
#cd
#pwd
/root
#vi .vimrc
set nu
color evening
#vi test2.txt -- 라인번호와 색상이 적용되는지 확인
[출처] [LINUX] vi|작성자 Serendipity
'리눅스 (Linux)' 카테고리의 다른 글
리눅스 명령어 모음 #2 (0) | 2015.12.25 |
---|---|
vi 중요 명령어 (0) | 2015.12.25 |
[리눅스] 버전 정보 확인 (0) | 2015.12.25 |
Hostname명 변경 (0) | 2015.12.25 |
리눅스 런레벨 (0) | 2015.12.25 |