vi 에디터 자주쓰는 명령어
학교 다닐때는 리눅스를 쓸일이 없었는데... 회사를 다니면서 쑬 일이 부쩍 많아졌다.
정리중....
vi의 종료
먼저 <ESC>키로 명령모드로 전환 한후 종료 명령
<ZZ> 버퍼를 파일에 기록하고 종료
:wq 버퍼를 파일에 기록하고 종료
:q! 버퍼의 내용을 파일에 기록하지 않고 무조건 종료
:q 버퍼의 내용과 파일의 내용이 일치하는 경우 종료
텍스트 편집 명령
a 커서 뒤에 삽입
A 줄의 마지막에 삽입
i 커서 앞에 삽입
I 줄의 시작에 삽입
o 현재 커서의 다음에 빈 라인을 생성
O 현재 커서의 앞에 빈 라인을 생성
파일에 관한 명령
:r [파일명] 파일의 내용을 읽어와서 현재의 커서 아래에 삽입
:e! [파일명] 편집중인 파일을 무시하고 새로운 파일을 작성, 편집
:e [파일명] 새로운 파일을 작성, 편집
:n 파일 목록의 다음 파일로 이동
:w 현재 편집중인 파일을 저장
:w [파일명] 현재 편집중인 파일을 새로운 파일명으로 저장
w! [파일명] 현재 편집중인 파일을 현존하는 파일명으로 저장
커서의 이동 명령
1. 문자 단위 이동
h 한 문자 왼쪽으로
j 한 문자 아래로
k 한 문자 위로
l 한문자 오른쪽으로
→←↑↓ 화살표 발향으로 이동
[BackSpace] 한 문자 왼쪽으로
[Enter] 다음 라인의 시작으로
2. 라인에서의 이동
^ 또는 0 라인의 시작위치로
$ 라인의 끝 위치로
3. 페이지 단위 이동
[Ctrl]-f 한 페이지 위로
[Ctrl]-b 한 페이지 아래로
[Ctrl]-u 반 페이지 위로
[Ctrl]-d 반 페이지 아래로
4. 단어 단위 이동
w 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식
W 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치
b 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식
B 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치
e 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치,구두점을 한 단어로 인식
E 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치
5. 파일에서의 이동
G 파일의 끝으로 이동
nG 또는 :n n번째 라인으로 이동
6. 화면에서의 이동
H 화면의 첫줄로 이동
L 화면의 끝으로 이동
M 화면의 중간으로 이동
삭제 명령
1) 문자 단위 삭제
x 커서가 위치한 곳의 한 문자 삭제
nx n 개의 문자 삭제
X 커서가 위치한 곳 앞의 한 문자 삭제
nX n 개의 문자 삭제
2) 라인 단위 삭제
dd 한 라인 삭제
ndd n개의 라인 삭제
d0 또는 d^ 커서 위치부터 라인의 처음 까지 삭제
d$, D 커서 위치부터 라인의 끝 까지 삭제
3) 단어 단위 삭제
dw 커서 위치에서 오른쪽 한 단어 삭제
db 커서 위치에서 왼쪽 한 단어 삭제
4) d+이동명령
dh,dj,dk,dl,d0,d$
5) 파일에서의 삭제
dG 커서 위치부터 파일의 끝 까지 삭제
dnG 커서 위치부터 n번째 라인까지 삭제
복사 명령
1) 라인 단위 복사
yy 한 라인 복사
nyy n개의 라인 복사
y0 또는 y^ 커서 위치부터 라인의 처음 까지 복사
y$, Y 커서 위치부터 라인의 끝 까지 복사
2) 단어 단위 복사
yw 커서 위치에서 오른쪽 한 단어 복사
yb 커서 위치에서 왼쪽 한 단어 복사
3) 붙여 넣기
p 커서 위치에서 오른쪽에 붙여 넣기
P 커서 위치위 윗 줄에 붙여 넣기
수정 명령
(1) 문자 단위 수정
r 한 문자 수정후 명령 모드
nr n개의 문자를 수정후 명령 모드
R 한 문자 수정후 편집 모드
nR n개의 문자를 수정후 편집 모드
(2) 한 문자를 여러 문자로 수정
s 커서 위치에서 한문자 삭제 후 편집 모드
(3) 여러 문자를 수정
명령 수행 후 [ESC] 키로 마감
cw 현재 커서위치에서 오른쪽 단어 수정
cb 현재 커서위치에서 왼쪽 단어 수정
c0 또는 c^ 커서가 위치한 라인의 시작에서 커서 위치까지 수정
c$또는 C 커서의 위치에서 라인의 끝까지 수정
cc 한 줄을 모두 수정
라인의 결합
J 커서의 다음 줄을 커서가 있는 줄에 결합
명령 실행 취소 명령
u 직전의 한 명령 실행 취소(undo), 일부 시스템에서는 여러 명령 취소 가능
U 현재 라인에서의 명령들의 실행 취소
[Ctrl]-r 취소명령의 취소(redo), 일부 시스템에서만 지원
검색
/[패턴] 앞으로 이동하면서 [패턴]을 검색
?[패턴] 뒤로 이동하면서 [패턴]을 검색
n 반복 해서 이전에 지정된 [패턴]을 검색(next search)
기타 명령
:!command - 쉘로 나가지 않고 쉘명령을 수행
:sh - 쉘로 잠시 나감, 복귀하려면 exit
. - 직전 명령어 재수행
[CTRL]-g : 전체 줄수와 현재 커서가 위치한 줄 번호
~ - 대소문자 변경
vi 편집기의 환경 설정
:set nu - 라인번호 표시 설정
:set nonu - 라인번호 표시 설정 해제
'개발 티끌 팁' 카테고리의 다른 글
[HTML] GNB LNB SNB FNB 용어 정리 (0) | 2017.04.24 |
---|---|
[MySQL] 모든 공백 제거 (0) | 2017.02.06 |
[MyBatis] 동적 쿼리 LIKE 문 삽질 주의 (0) | 2017.01.16 |
[MyBatis] 동적 쿼리 IF문 (0) | 2017.01.11 |
[vi]vi 에디터 비정상 종료시 (0) | 2017.01.06 |