티스토리 뷰
반응형
화면을 이동하는 법
- 방향키 자체는 vi자체에서 지원하는 키가 아니라 텔넷프로그램(새롬데이터맨)이 지원해주는 가짜 키임을 유의.
화면단위로 이동하는 법
- PageUp키나 Pagedown키를 눌러 이동하면 안됨
행내에서의 이동
- HOME키나 END키를 사용해선 안됨
특정행으로 자유롭게 이동
삭제 기능
Copy & Paste 기능
검색하고 치환하는 기능
치환문에서 /g의 차이
명령모드에서 벗어나 편집모드로 진입하기(입력모드)
입력모드와 삽입모드 변환
vi 방식의 종료와 저장, 새이름으로 저장
vi 환경설정
h : 앞으로 이동
l : 뒤로 이동
k : 위로 이동
j : 아래로 이동
^ : 공백을 나타내는 글자를 제외한 나머지 글자 중에서 라인의 첫 글자로
0 : 라인의 첫 글자로
$ : 해당 라인의 끝으로
[n]$ : n라인 아래의 끝 글자로
H : 화면의 가장 위
M : 화면의 중앙
L : 화면의 가장 아래
1G : 페이지의 가장 위
G : 페이지의 가장 아래
[n]G : n번째 줄로
w : 다음 단어의 첫글자로
W : 다음 단어의 첫글자로(단어를 공백으로만 구분)
e : 다음 단어의 끝글자로
E : 다음 단어의 끝글자로(단어를 공백으로만 구분)
b : 왼쪽 단어의 첫 글자로
B : 왼쪽 단어의 첫 글자로(단어를 공백으로만 구분)
l : 뒤로 이동
k : 위로 이동
j : 아래로 이동
^ : 공백을 나타내는 글자를 제외한 나머지 글자 중에서 라인의 첫 글자로
0 : 라인의 첫 글자로
$ : 해당 라인의 끝으로
[n]$ : n라인 아래의 끝 글자로
H : 화면의 가장 위
M : 화면의 중앙
L : 화면의 가장 아래
1G : 페이지의 가장 위
G : 페이지의 가장 아래
[n]G : n번째 줄로
w : 다음 단어의 첫글자로
W : 다음 단어의 첫글자로(단어를 공백으로만 구분)
e : 다음 단어의 끝글자로
E : 다음 단어의 끝글자로(단어를 공백으로만 구분)
b : 왼쪽 단어의 첫 글자로
B : 왼쪽 단어의 첫 글자로(단어를 공백으로만 구분)
- 방향키 자체는 vi자체에서 지원하는 키가 아니라 텔넷프로그램(새롬데이터맨)이 지원해주는 가짜 키임을 유의.
화면단위로 이동하는 법
Ctrl + f(Forward) : 한페이지 앞으로(아래로)
Ctrl + b(Backward) : 한페이지 뒤로(위로)
Ctrl + u(Up) : 1/2페이지 위로 이동
Ctrl + d(Down) : 1/2페이지 아래로 이동
Ctrl + b(Backward) : 한페이지 뒤로(위로)
Ctrl + u(Up) : 1/2페이지 위로 이동
Ctrl + d(Down) : 1/2페이지 아래로 이동
- PageUp키나 Pagedown키를 눌러 이동하면 안됨
행내에서의 이동
Shift + 4(== $ ) : 행의 맨뒤로
Shift + 6(== ^ ) : 행의 맨앞으로
Shift + 6(== ^ ) : 행의 맨앞으로
- HOME키나 END키를 사용해선 안됨
특정행으로 자유롭게 이동
1 + Shift + g( == 1 + G ) : 파일의 처음(1행)으로 이동하기
Shift + g( == G ) : 파일의 마지막행으로 이동하기
특정숫자 + Shift + g( == ? + G ) : 특정라인으로 이동하기
Shift + g( == G ) : 파일의 마지막행으로 이동하기
특정숫자 + Shift + g( == ? + G ) : 특정라인으로 이동하기
삭제 기능
x : 한글자 지우기(윈도우의 Delete키 기능)
X : 한글자 지우기(윈도우의 Backspace키 기능)
dd : 한줄지우기
특정숫자 + dd : 여러개의 라인 지우기
D : 현재라인 현재행의 뒷부분 모두 지우기(하나의 행)
X : 한글자 지우기(윈도우의 Backspace키 기능)
dd : 한줄지우기
특정숫자 + dd : 여러개의 라인 지우기
D : 현재라인 현재행의 뒷부분 모두 지우기(하나의 행)
Copy & Paste 기능
yy : 하나의 행 복사하기
특정숫자 + yy : 여러개의 행 복사하기
p : 붙이기
Shift + j(== J ) : 윗줄의 맨뒤에 아랫줄 갖다가 붙이기(커서의 위치는 윗줄에 있어야 함)
특정숫자 + yy : 여러개의 행 복사하기
p : 붙이기
Shift + j(== J ) : 윗줄의 맨뒤에 아랫줄 갖다가 붙이기(커서의 위치는 윗줄에 있어야 함)
검색하고 치환하는 기능
/찾는문자열 : 파일내에서 찾는 문자열을 찾아 커서가 이동한다.(아래방향으로)
?찾는문자열 : 파일내에서 찾는 문자열을 찾아 커서가 이동한다.(위로 향하여)
n : "/찾는문자열"을 입력후 다음찾기할때(아래방향)
N : "/찾는문자열"을 입력후 다음찾기할때(위방향)
:s/찾는문자열/치환문자열 : 현재 커서가 놓여 있는 행에서 첫번째로 검색된 특정문자열 바꾸기
:1,10s/찾는문자열/치환문자열 : 1행부터 10행사이에 걸쳐 첫번째로 검색된 특정문자열 바꾸기
:%s/찾는문자열/치환문자열 : 모든행에 걸쳐 첫번째로 검색된 특정문자열을 바꾸기
?찾는문자열 : 파일내에서 찾는 문자열을 찾아 커서가 이동한다.(위로 향하여)
n : "/찾는문자열"을 입력후 다음찾기할때(아래방향)
N : "/찾는문자열"을 입력후 다음찾기할때(위방향)
:s/찾는문자열/치환문자열 : 현재 커서가 놓여 있는 행에서 첫번째로 검색된 특정문자열 바꾸기
:1,10s/찾는문자열/치환문자열 : 1행부터 10행사이에 걸쳐 첫번째로 검색된 특정문자열 바꾸기
:%s/찾는문자열/치환문자열 : 모든행에 걸쳐 첫번째로 검색된 특정문자열을 바꾸기
치환문에서 /g의 차이
예)
drwxrwxrwt 7 sys sys 363 12월25일 02:41 tmp/
실행문)
:s/sys/root
:s/sys/root/g
실행결과)
drwxrwxrwt 7 root sys 363 12월25일 02:41 tmp/
drwxrwxrwt 7 root root 363 12월25일 02:41 tmp/
drwxrwxrwt 7 sys sys 363 12월25일 02:41 tmp/
실행문)
:s/sys/root
:s/sys/root/g
실행결과)
drwxrwxrwt 7 root sys 363 12월25일 02:41 tmp/
drwxrwxrwt 7 root root 363 12월25일 02:41 tmp/
명령모드에서 벗어나 편집모드로 진입하기(입력모드)
i : 커서가 놓여 있는 위치의 문자를 밀어내고 삽입된다.
a : 커서가 놓여 있는 위치의 문자뒤에 삽입된다.
o (소문자 o) : 현재행의 아래행을 밀어내고 입력모드로 전환된다.
O (대문자 O) : 현재행을 한줄 아래로 밀어내고 입력모드로 전환된다.
r + 새글자 : 현재커서의 글자를 새글자로 치환(입력모드로 변환하진 않는다)
a : 커서가 놓여 있는 위치의 문자뒤에 삽입된다.
o (소문자 o) : 현재행의 아래행을 밀어내고 입력모드로 전환된다.
O (대문자 O) : 현재행을 한줄 아래로 밀어내고 입력모드로 전환된다.
r + 새글자 : 현재커서의 글자를 새글자로 치환(입력모드로 변환하진 않는다)
입력모드와 삽입모드 변환
입력모드 : ESC - 명령모드(이동,삭제,검색,치환,저장,종료,열기)
명령모드 : i,a,o,O - 삽입모드(입력)
명령모드 : i,a,o,O - 삽입모드(입력)
vi 방식의 종료와 저장, 새이름으로 저장
:q - 저장하지 않고 vi 종료하기
:q! - 강제 종료
:w - 현재내용을 저장
:w! - 읽기전용인 파일을 수정후 강제로 저장할때
:wq - 저장하고 종료
:wq! - 읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w 새파일명 - 새이름으로 저장
:q! - 강제 종료
:w - 현재내용을 저장
:w! - 읽기전용인 파일을 수정후 강제로 저장할때
:wq - 저장하고 종료
:wq! - 읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w 새파일명 - 새이름으로 저장
vi 환경설정
:set number : 행번호 표시
:se nu : 행번호 표시
:set nonumber : 행번호 안보이게
:se nonu : 행번호 안 보이게
:syn on(off) : 색깔보이게(안보이게)
:set autoindent : 들여쓰기 설정
:set noautoindent : 들여쓰기 제거
:set list : 문단,조판부호 보기
:set nolist : 문단,조판부호 안보이게
:set window=30 : 한 화면당 행의 갯수 30개로 지정
:set ignorecase : 검색시 대소문자 구별 제거
:set noignorecase : 검색시 대소문자 구별
:set all : 현재 설정된 vi 모든 설정값 보기
:se nu : 행번호 표시
:set nonumber : 행번호 안보이게
:se nonu : 행번호 안 보이게
:syn on(off) : 색깔보이게(안보이게)
:set autoindent : 들여쓰기 설정
:set noautoindent : 들여쓰기 제거
:set list : 문단,조판부호 보기
:set nolist : 문단,조판부호 안보이게
:set window=30 : 한 화면당 행의 갯수 30개로 지정
:set ignorecase : 검색시 대소문자 구별 제거
:set noignorecase : 검색시 대소문자 구별
:set all : 현재 설정된 vi 모든 설정값 보기
반응형
댓글