vi
대기mode
입력mode
line mode
======== 저장 x 종료
:q
:q!
======== 저장
:w
:w aaa
======== 저장 O 종료
:wq
:x
대기mode에서 shift + zz
edite mode
i (esc) a (esc) s (esc) o (esc)
I (esc) A (esc) S (esc) O (esc)
i 커서가 위치한 곳 부터 입력
a 커서 바로 뒤 부터 입력
s 커서가 위치한 문자를 삭제 후 입력
o 커서가 위치한 곳 아래로 들여쓰기
커서가 위치한 라인의 가장 앞으로 이동하여 입력
A 커서가 위치한 라인의 가장 뒤로 이동하여 입력
S 커서가 위치한 라인을 삭제 후 입력
O 커서가 위치한 라인의 위쪽으로 들여쓰기
=====삭제
x 현재 커서위치 부터 뒤에 정보를 삭제 (단, 내용물이 뒤쪽에 없을 경우 앞에 내용물을 삭제한다.)
X 현재 커서위치 앞 부터 앞으로 정보를 삭제 ( 단, 내용물이 앞쪽에 없을 경우 뒤의 내용물을 삭제한다.)
nx (n개의 문자 만큼 삭제)
nX
d (delete)
dd(D) line delete
ndd = nD
dnd n개의 line delete
dw(word)
ndw n개의 word delete
dnw
d^ 현재 커서의 앞 부분 부터 라인의 처음 까지 삭제
d$ 현재 커서의 위치 부터 라인의 끝 까지 삭제
dG 현재 커서가 위치한 라인을 포함 파일의 끝 까지 삭제
========== 복사
y (yank)
yy(Y) line yank
nyy = nY
yny n개의 line yank
yw(word)
nyw n개의 word yank
ynw
y^ 현재 커서의 앞 부분 부터 라인의 처음 까지 복사
y$ 현재 커서의 위치 부터 라인의 끝 까지 복사
yG 현재 커서가 위치한 라인을 포함 파일의 끝 까지 삭제
============== 붙여넣기
p
============== 잘라내기
c (cut) 명령을 실행을 하면 바로 입력환경이 되므로 바로 붙여넣기를
사용하려면 esc 로 대기모드로 이동후 붙여넣기를 한다.
cc(C) line cut
ncc = nC
cnc n개의 line cut
cw(word)
ncw n개의 word cut
cnw
c^ 현재 커서의 앞 부분 부터 라인의 처음 까지 잘라내기
c$ 현재 커서의 위치 부터 라인의 끝 까지 잘라내기
cG 현재 커서가 위치한 라인을 포함 파일의 끝 까지 잘라내기
========== 이동
대기모드에서
^ 라인의 가장 앞으로 이동 (공백이 아닌 처음시작되는 문자)
^F 한 화면 을 앞으로 스크롤
^B 한 화면 을 뒤로 스크롤
^D 반 화면 을 앞으로 스크롤
^U 반 화면 을 뒤로 스크롤
^E 한줄 앞으로 스크롤
^Y 한줄 뒤로 스크롤
Shift + h 화면의 맨 윗줄로
Shift + m 화면의 중간줄로
Shift + l 화면의 맨 아랫줄로
$ 라인의 가장 끝으로 이동
G 파일내용의 가장 아래로 이동
gg (vim 에서는 파일내용의 가장 위로 이동)
h 왼쪽으로 이동
j 아래로 이동
k 위로 이동
l 오른쪽으로 이동
- 줄의 처음으로 옮김
e, E 다음단어의 끝으로, 문자단위 이동
w, W 다음단어의 처음으로, 문자단위 이동
0 줄의 처음으로
Shift+g 문서의 마지막으로 이동한다.
gg, 1g 문서의 처음으로 이동한다. 1대신 다른 숫자를 입력하면 해당 숫자의 라인으로 이동한다.
), ( 다음, 이전 문장의 처음으로
}, { 다음, 이전문단의 처음으로
]], [[ 다음, 이전 구절의 처음으로
명령모드에서
:n 라고 치면 라인 넘버로 이동
명령모드에서
:set nu line number
:set nonu line number 감추기
(vim color 옵션이 셋팅되어 있는 에디터에선 검색에서 라인색깔이 삭제안되는 경우가 있다. 이때 검색 라인색깔을 삭제 하는 명령은 명령모드에서 :nohl 이다.)
========== 검색
( 검색은 정규화 표현식을 이용하여 좀더 정교한 패턴을 만들수 있다.
/ 아래로 검색 n 아래로 검색 N 위로 검색
? 위로 검색 n 위로 검색 N 아래로 검색
n : next <-> N
=========== 범위 지정
:n,m n라인부터 m 라인까지
:5,10d 5~10 라인까지 삭제
:5,10y
:5,10c
=========== 치환
:n,ms/찾을내용/바꿀내용/g
찾을 내용과 바꿀내용은 정규화 표현식을 이용하여 좀더 정교하게 필터링 할 수 있다.
:5,10s/root/super/g
=========== 선택 치환
:n,ms/찾을내용/바꿀내용/gc
선별적으로 치환
:5,10s/root/super/gc
질문
y 바꾸겠다.
n 바꾸지 않겠다.
a 현재 커서위치부터 모두 바꾸겠다.
q 현재 커서위치 부분을 변경하지 않고 종료
l 현재 커서위치까지 변경하고 종료
(vim에서는 page 정보에 대한 up down 명령어도 포함 되어있다.)
vi aaa bbb
vi -o aaa bbb
'工夫 > Linux' 카테고리의 다른 글
리눅스 데이터베이스 서버 만들기 (0) | 2009.07.08 |
---|---|
리눅스 부팅시 system 사용설정(활성과 해재)을 하는 방법 (0) | 2009.07.07 |
솔라리스에서 기본적인 명령어들 (0) | 2009.07.04 |
Sub-directory 소개 (0) | 2009.07.01 |
RAID (0) | 2009.06.28 |
댓글