5. vi 편집기
- 5.1. 커서 이동 명령어
j(↓) 아래로 이동
k(↑) 위로 이동
h(←) 왼쪽으로 이동
l (→) 오른쪽으로 이동
G 맨 아래로 이동
gg 맨 위로
nG n번째 행으로 이동.
^b(back) 한 화면 위로 이동
^f(forward) 한 화면 아래로 이동
0 줄의 제일 처음부터 이동
$ 줄의 제일 끝으로 이동
- 5.2. 입력 명렁어
i 현재 커서 위치에 삽입(커서 위치에 문자를 오른쪽으로 한 칸 밀고 삽입)
a 현재 커서 위치 다음에 삽입 (a == "l + i")
o 현재 커서가 위치한 줄의 아랫줄에 삽입(o == "$ + a + Enter")
I현재 커서가 위치한 줄의 맨 앞에 삽입 (I == "0 + i")
A 현재 커서가 위치한 줄의 맨 뒤에 삽입 (A == "$ + a")
O 현재 커서가 위치한 줄의 바로 위에 삽입
- 5.3. 지우기 명령어
x 현재 커서 위치의 문자를 지운다. (nx x를 n번 반복)
dd현재 커서가 위치한 줄을 지운다. (ndd dd를 n번 반복)
d$현재 커서가 위치한 곳부터 그 행의 끝까지를 지운다.
dG 현재 커서가 위치한 행부터 편집문서의 마지막 줄까지 삭제한다.
:n1,n2d n1번째 행에서 n2번째 행까지를 지운다.
:3,$d 3번째 행에서 끝항까지 지운다.
- 5.4. 복사붙여넣기
yy(=Y) 현재 커서가 위치한 줄을 버퍼에 복사한다.
nyy => 현재 커서가 위치한 곳부터 아래로 n 라인을 버퍼에 복사한다.
p 버퍼에 들어 있는 내용을 현재 커서가 위치한 줄의 아래에 붙인다.
ex) 27~49라인 복사해서 37번째라인 아래에 붙여넣기
27,49 co 37
옮기는건 m -> 27,33 m 37
- 5.5. 문자열 검색
/패턴 ; 패턴에 해당하는 내용을 현재 커서위치로 부터 오른쪽에서 그리고 아래쪽으로 찾는다.
n 정방향 다음 찾기 (현재 진행방향으로 => 아래쪽으로)
N 역방향 다음 찾기 (현재 진행 방향 반대쪽으로 => 위쪽으로)
? 패턴 패턴에 해당하는 내용을 현재 커서위치로 부터 왼쪽에서 그리고 위쪽으로 찾는다.
-5.6. 문자열 치환
:n1,n2s/serch/replace/g ( => 시작행번호, 마지막행번호s/찾을패턴/바꿀패턴/옵션 )
(g 는 global의 의미 해당 라인의 문자열을 전부 치환, g옵션이 생략될 경우에는 한 라인에서 치환해야할 패턴이
여러 개일 경우 맨 왼쪽 에 있는 것만 치환됨.)
*. 전체 바꾸는 경우는 1,$s/linux/LINUX or %s/linux/LINUX
*. 옵션에 i 가 사용되면 intractive 모드로 명령어 실행, 바꾸기 전에 물어본다.
-5.7. 기타
:set nu ; 라인 넘버 붙이기 (<=> set nonu)
J 현재 줄과 다음 줄을 합한다.
u 방금 한 명령을 취소한다.
. 방금한 명령을 되풀이 한다.
-5.8. 환경설정
:set tabstop=4 / set ts=4
:set list / set nolist
:args
:set title
:set visualbell = :set vb
위에 것들 vi 나갈때마다 다시 입력해야하는 불편함 -> 환경설정 파일을 만든다.
-> cd $HOME 위치(/home/계정명)에 vi .vimrc 열고 위에 설정들 적어놓고 저장함
-> 환경설정 완료
댓글