■ vi에디터란?
쉽게 말해서 윈도우에는 기본적으로 메모장이란 텍스트편집기가 있듯이
리눅스나 유닉스의 OS에서는 vi 에디터라는 것이 있습니다.
즉, 텍스트 문서를 편집하는데 사용되는 텍스트 편집기이지만, 그 기능은 강력하면서도 명령어도 핸드북크기 분량으로
아주 많습니다.
여기서는 실제 자주사용되는 사용명령어를 위주로 살펴봅니다.
대부분의 편집기는 실행시키고 나서 타이핑을 하면 타이핑한 그대로 화면에 보이기 시작하지만,
vi는 처음부터 명령이 실행이 되지 않습니다.
아래는
test.htm 파일이 계정내에 존재할시에 편집하는 화면과
test2.php 파일을 새롭게 생성하는 화면입니다.
[ok@kimsaem]$ vi test.htm <- test.htm 파일을 수정합니다.
[ok@kimsaem]$ vi. test2.php <- test2.php 파일을 생성합니다.
■ 입력
vi 에디터에서 글자를 입력하기 위해서는 i(insert)를 타이핑해야 합니다.
그러면 문자를 입력을 할 수가 있습니다.
입력모드를 벗어나려면 ESC키를 누르면 빠져나옵니다.
■ 저장하기/끝내기
저장하는 방법은 :w라고 하면 됩니다.
저장하지 않고 끝내는 방법은 :q!
■ 편집모드
i - 커서앞에 텍스트 삽입
a - 커서뒤에 텍스트 삽입
o - 현재 행 아래에 텍스트 삽입
■ 텍스트 교체
r - 한 글자만 교체
R - 커서가 있는 자리부터 여러문자 교체
■ 커서이동
←, h, <del>
↓, j
↑, k
→, l
■ 신속이동
w - 오른쪽으로 특수문자 혹은 한단어의 처음으로 이동
b - 왼쪽으로 특수문자 혹은 한단어의 처음으로 이동
W - 오른쪽으로 한단어의 처음으로 이동
B - 왼쪽으로 한단어의 처음으로 이동
■ 한 행 안에서의 이동
0 (숫자) - 행의 맨 처음으로 이동
$ - 행의 맨 마지막으로 이동
■ 페이지 이동
G - 문서의 맨 끝 행으로 이동
nG - nqjsWo 행으로 이동
C-f - 한페이지 아래로 이동
C-b - 한페이지 위로 이동
■ 삭제명령
dw - 한 단어 삭제
dd - 한 줄 삭제
D - 커서부터 행 끝까지 삭제
x - 한 글자 삭제
■ 숫자와 명령의 조합 예제
10j - 10줄 위로 이동
10x - 10글자 삭제
5dd - 5줄 삭제
■ 복사 & 붙여넣기
x, dw, dd, D → p - 커서 뒤에 임시 버퍼내용 추가
x, dw, dd, D → P - 커서 앞에 임시 버퍼내용 추가
■ 텍스트 복사
yw - 한단어 복사
y$ - 커서부터 행끝까지 복사
yy - 한줄 모두 복사
■ 텍스트 탐색
/ - 전방 탐색
? - 후방 탐색
n - 같은방향으로 탐색 계속
N - 반대방향 탐색 계속
/ - 전방탐색 계속
? - 후방탐색 계속
■ 특정 행 번호로 이동
:1 - 1번째 행으로 이동
:$ - 마지막 행으로 이동
:$= - 현재 문서의 총 줄(행)수
:.= - 현재위치의 행번호
■ 텍스트 검색 및 치환
/찾는문자열
- 파일내에서 찾는 문자열을 찾아 커서가 이동한다.(아래방향으로)
?찾는문자열
- 파일내에서 찾는 문자열을 찾아 커서가 이동한다.(위로 향하여)
n
- "/찾는문자열"을 입력후 다음찾기할때(아래방향)
N
- "/찾는문자열"을 입력후 다음찾기할때(위방향)
:s/찾는문자열/치환문자열
- 현재 커서가 놓여 있는 행에서 첫번째로 검색된 특정문자열 바꾸기:1,10s/찾는문자열/치환문자열
- 1행부터 10행사이에 걸쳐 첫번째로 검색된 특정문자열 바꾸기
:%s/찾는문자열/치환문자열
- 모든행에 걸쳐 첫번째로 검색된 특정문자열을 바꾸기
■ 명령모드에서 벗어나 편집모드로 진입하기(입력모드)
i : 커서가 놓여 있는 위치의 문자를 밀어내고 삽입된다.
a : 커서가 놓여 있는 위치의 문자뒤에 삽입된다.
o (소문자 o) : 현재행의 아래행을 밀어내고 입력모드로 전환된다.
O (대문자 O) : 현재행을 한줄 아래로 밀어내고 입력모드로 전환된다.
입력모드 와 삽입모드를 습관적으로 변환하기
입력모드 : ESC - 명령모드(이동,삭제,검색,치환,저장,종료,열기)
명령모드 : i,a,o,O - 삽입모드(입력)
■ VI 방식의 종료와 저장, 새이름으로 저장
:q - 저장하지 않고 vi 종료하기
:q! - 강제 종료
:w - 현재내용을 저장
:w! - 읽기전용인 파일을 수정후 강제로 저장할때
:wq - 저장하고 종료
:wq! - 읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w 새파일명 - 새이름으로 저장
댓글 없음:
댓글 쓰기