Vi 에디터
[입력모드]
i : 현재 커서 앞에 입력
a : 현재 커서 뒤에 입력
o : 커서가 위치한 다음 행 입력
I : 커서가 위치한 행의 첫 칼럼 이동 입력
A : 커서가 위치한 행의 마지막 칼럼 이동 입력
O : 커서가 위치한 행의 앞에 입력
[파일 저장, 종료]
:q : 그냥 종료
:q! : 강제 종료
:w [파일명] : 작업 내용 저장 (파일 명 지정 시 새 파일로 저장)
:wq,:wq!,(명령모드에서) ZZ : 작업한 내용 저장하고 vi 종료
[커서 이동 명령]
h, j, k, l : 왼, 아래, 위, 우
^,0 : 현재행의 처음
$ : 현재 행의 마지막
- : 커서를 앞 행의 처음
+,Enter : 커서를 다음 행의 처음
H : 커서를 화면 맨 위로 이동
M : 커서를 화면 중간 행으로 이동
L : 커서를 화면의 맨 아랫 행 이동
w : 다음 단어 첫 글자로 이동
b : 앞 단어 첫 글자로 이동
e : 단어의 마지막 글자로 이동
[화면 이동 명령]
^u(ctrl+u) : 반 화면 위로 이동
^d(ctrl+d) : 반 화면 아래로 이동
^b(ctrl+b) : 한 화면 위로 이동
^f(ctrl+f) : 한 화면 아래로 이동
^y(ctrl+y) : 화면을 한 행만 위로 이동
^e(ctrl+e) : 화면을 한 행만 아래로 이동
[특정 행 바로 이동]
G(shift+g) : 파일 마지막 행으로 이동
행 번호G : 지정한 행 번호로 이동
:행 번호 : 지정한 행 번호로 이동 (마지막 행 모드)
:$ : 파일의 마지막 행으로 이동(마지막 행 모드)
[내용 수정하기]
r : 커서가 위치한 글자를 다른 글자로 수정
cw,#cw : 커서 위치부터 현재 단어의 끝가지 수정 #에는 수정할 단어의 수를 지정 ex)3cw
s,#s : 커서 위치부터 esc 키 입력까지 수정 #에는 수정할 글자 수
cc : 커서가 위치한 행 내용 모두 수정
C : 커서 위치부터 행의 끝까지 수정
[내용 삭제하기]
x,#x : 커서 위치의 글자 삭제. #에는 삭제할 글자 수 지정
dw, #dw : 커서 위치의 단어 삭제 , #에는 삭제할 단어 수 지정
dd, #dd : 커서 위치의 행 삭제, #에는 삭제할 행의 수 지정
D : 커서 위치부터 행의 끝까지 삭제
[명령 취소하기]
u : 명령 취소
U : 해당 행에서 한 모든 명령 취소
:e! : 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업
[복사하기,잘라내기,붙이기]
yy, #yy : 커서가 위치한 행 복사. #에는 복사할 행 수 지정
p : 커서가 위치한 행 아래쪽에 붙임
P : 커서가 위치한 행 위쪽에 붙임
dd,#dd : 삭제와 같은 기능이지만 잘라내는 기능 포함
[범위 지정 명령]
1,$,% : 1행부터 마지막 행 까지 지정
1, . : 1행부터 커서가 있는 행까지 지정
., $ : 커서가 있는 행부터 마지막 행까지 지정
,-3 : 현재 행과 이전 세 번째 행까지 ( 총 네 행) 지정
10,20 : 10행부터 20행까지 지정
[마지막 행 모드에서 복사,잘라내기,붙이기]
:#y : #으로 지정한 행을 복사 ex) 3y는 3행을 복사
:<범위>y : 범위로 지정한 행을 복사 ex)2,4y는 2~4행을 복사
:#d : #으로 지정한 행을 잘라냄(삭제) ex) 3d는 3행을 잘라냄
:<범위>d : 범위로 지정한 행을 잘라냄(삭제) ex) 1,4d는 1~4행을 잘라냄
:pu : 현재 행 다음에 버퍼의 내용을 붙임
:#pu : #으로 지정한 다음의 버퍼 내용을 붙임 ex) 4pu
[검색하기]
/문자열 : 문자열 아래 방향으로 검색
?문자열 : 문자열을 위 방향으로 검색
n : 찾던 방향으로 다음 문자열 검색
N : 역방향으로 다음 문자열을 검색
[바꾸기]
:s/문자열1/문자열2/ : 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꾼다
:s%/문자열1/문자열2/g : 파일 전체에서 모든 문자열1을 문자열2로 바꾼다
:<범위>s/문자열1/문자열2/ : 범위 내 모든 행의 각 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꿈
:<범위>s/문자열1/문자열2/g : 범위 내 모든 행에서 문자열1을 문자열2로 바꾼다
:<범위>s/문자열1/문자열2/gc : 범위 내 모든 행에서 문자열1을 문자열2로 바꿀 때 수정할지 여부를 묻는다.
[파일 관련 명령]
:r 파일명 : 지정한 파일을 읽어들여 현재 커서 위치에 삽입
:e 파일명 : 지정한 파일로 전환 (기존 파일을 :w 로 저장한 뒤에 실행)
:n : vi 시작 시 여러 파일을 지정했을 경우 다음 파일로 작업 이동
:! [셸 명령] : vi 작업을 잠시 중단하고 셸 명령 실행 (enter키를 입력해야 함)
:sh : vi를 잠시 빠져나가 셸 명령을 실행한다 (vi로 돌아오려면 exit 명령을 입력해야 한다)
'Study Note > OS' 카테고리의 다른 글
[Linux] 리눅스 커널 컴파일 (fedora) (0) | 2016.03.07 |
---|---|
[Linux] 리눅스 커널 구조 (0) | 2016.03.07 |
[Linux] Shell Script (0) | 2016.02.15 |
[Linux] Shell & Shell 내장 명령어 (0) | 2016.02.15 |
[Linux] 기본 명령어 (0) | 2016.02.15 |