리눅스 VI 명령어 정리
a : 현재 커서의 뒤에 입력
i : 현재 커서의 앞에 입력
페이지 이동
Ctrl + f : 아래 화면 페이지 이동
Ctrl + b : 위의 화면 페이지 이동
G : 파일의 제일 마지막으로 이동
gg(Shift+g) : 파일의 가장 처음으로 이동
80G : 파일의 80번째 줄로 이동
복사, 붙여넣기
yy : 한줄 복사
15yy : 15줄 복사
p : 현재 커서의 아래줄에 붙여 넣기
P : 현재 커서가 있는 줄에 붙여 넣기
dw : 한 줄 잘라내기
15dw : 15줄 잘라내기
지우기
x : 한 문자만 지우기
dd : 한 줄 지우기
15dd : 15줄 지우기
수정하기
r : 한 문자만 변경
R : Replace
vi 편집기 종료
x : == wq
환경 설정
set nu : 줄 번호 보이기
set nonu : 줄 안보이기
set ts = 4 : Tab 키의 공백 넓이를 지정 (기본값: 8)
기타 기능
vi !/.exrc
set ts=4 등의 환경설정 저장
화면 분할기능
new [파일명]
Ctrl + w + w 화면간 이동
=============================================================
### 먼저 간단한 정의와 사용법 ###
@Vi 에디터
1.Vi 에디터란 유닉스 시스템의 단말장치에서 사용 할 수 있도록 만들어진 대화식 편집기 입니다
2.Vi 에디터 일반적인 형식 - vi [옵션] [파일명]
@ Vi 에디터의 세가지 모드
1.명령 모드(command mode) - 문자들을 파일에 입력
2.입력 모드(input mode) - 문자나 라인 등을 지운다
3.마지막 줄 모드 - 작업한 것을 저장하고 vi에디터를 빠져 나갈 때 사용, 이 모드를 사용 하려면: (콜론) 을 입력 해야 해요.
*데이터를 입력 하는 순서
1.데이터를 편집 하고 싶은 곳으로 커서를 이동
2.입력모드를 바꾸기 위한 명령을 입력 - 주로사용되는 [입력모드] 전환키는 [i]키입니다 [i]는 insert를 뜻합니다.
3.데이터를 편집
4.명령모드로 바꾸기 위해 ESC키를 누른다
5.저장하고 종료
@ Vi 에디터 명령어
에디터는 세가지 모드가 있습니다.
세가지 모드는 [명령모드] [입력모드] [마지막줄모드] 세가지입니다.
1.명령모드
vi가 처음 시작되면 명령모드에서 시작되요
사용자가 누르는 모든 키보드의 입력을 명령으로 해석하는거죠
명령이 아닌 잘못된 키입력은 삑~ 소리가 나며 에러처리 됩니다 ^^
2.입력모드
실제로 글을 입력하는 모드에요
몇가지 입력모드 전환키가 있지만 가장 많이 쓰는 [입력모드] 전환키는 [i]키에요
[i]는 insert를 뜻하는 거죠...
3.마지막줄모드 또는 마무리모드
[Esc]키를 누르고 [:]을 누르면 마지막줄모드 상태가 되는데 저장한다거나 끝낼 때 사용해요.. 마무리모드라고도 합니다..
그 외에도 마지막줄모드에서는 여러가지 고급 명령이 작용합니다..
** 대부분의 편집기는 시작하면서 키보드 입력상태인 [입력모드]로 시작되지만 vi 에디터는 [명령모드]로 시작되요..
그래서 처음 접하시는 분들은 조금 당황하게 되죠.. ^^
따라서 글쓰기를 하기 위해서는 [입력모드]로 전환해야 하고 [입력모드]에서 빠져 나올 때는 [Esc]키를 눌러주세용~ ^^
@ vi 실행
vi abc.txt - abc.txt 라는 파일이 편집되요..
abc.txt 라는 파일이 없을 때는 abc.txt 라는 파일이 만들어집니다.. ^^
파일이름 없이 vi 명령만 주면 편집 후에 저장하면서 파일이름을 정해주시면 되요..
@ vi 편집
1.처음시작시 명령어모드에서 입력모드 변환 명령어
a - 커서 뒤에 삽입 되고 a는 append 입니다..
i - 커서 앞에 삽입 되고 i는 insert 입니다.. 제일 많이 사용되는 입력명령어에요..
o - 현재 줄 다음 줄에 입력되고 한 줄이 더 생기는 거에요..
O - 현재 줄 앞 줄에 입력되고 마찬가지로 한줄이 더 생겨요..
A - 줄 끝에 입력되요..
I - 줄 시작 부분에 입력되요..
2.커서이동시
커서를 이동하는데 주로 h, j, k, l, $, ^, W, e, b, nG 를 사용하죠. 한칸 이동은 키가 모여 있어서 작업히기 편해요...
h - 왼쪽으로 한 칸 이동
j - 아래쪽으로 한 칸 이동
k - 위쪽으로 한 칸 이동
l - 오른쪽으로 커서 한 칸 이동
$ - 라인 끝으로 이동
^ - 라인 처음으로 이동
w - 다음 단어로 이동
b - 앞 단어로 이동
H - 화면 제일 위로 이동
M - 화면 가운데로 이동
L - 화면 제일 아래로 이동
e - 단어의 끝으로 이동
nG - n번째 라인으로 이동
3.화면 이동시
Ctrl + F - 보이는 화면단위로 다음 화면으로 이동 하고 f는 forward 입니다..
Ctrl + B - 보이는 화면단위로 이전 화면으로 이동 하고 b는 back 입니다..
Ctrl + D - 앞으로 반화면 스크롤...
Ctrl + U - 뒤로 반화면 스크롤...
Ctrl + L - 화면을 재표시...
4.삭제시
x - 커서가 위치한 문자 삭제
nx - 커서가 위치한 문자부터 n 번째 문자 삭제
dw - 커서가 위치한 단어 삭제
dd - 커서가 위치한 줄 삭제
ndd - 커서가 위치한 라인부터 n 번째 라인 삭제
D - 커서가 위치한곳 부터 현재 줄의 끝까지 삭제
dG - 커서가 위치한 줄에서 끝까지 삭제
5.변경시
편집 중에 바꾸기 명령을 통해 문자나 문자열을 치환 합니다...주로 r과 R을 많이 사용 해요..
r - 커서가 위치한 문자 다른문자로 대체
R - 커서가 위치한 부분에서 [Esc]키를 누를 때까지 계속 덮어씀
cw - 커서가 위치한 단어 변경
cc - 커서가 위치한 줄 변경
C - 커서가 위치한 오른쪽의 줄 변경
s - 커서가 위치한 문자열 변경
J - 현재줄과 아래줄의 결합
xp - 커서가 위치한 문자와 오른쪽 문자의 교환
~ - 대, 소문자 변경
u - 이전 명령 취소
. - 마지막 작업 반복 실행
6.택스트의 이동, 복사 및 붙이기
yw - 커서가 위치한 단어 복사
yy - 커서가 위치한 줄 복사
Y - 커서가 위치한 줄 복사
nY - 커서가 위치한 줄 부터 n 번째 줄까지 복사
nyy - 커서가 위치한 줄 부터 n 번째 줄까지 복사
p - 삭제 또는 복사된 내용을 커서가 있는 문자나 줄 뒤에 삽입
P - 삭제 또는 복사된 내용을 커서가 있는 문자나 줄 앞에 삽입
7.문자열을 찾을때
/abc - 커서위치한 텍스트에서 순방향으로 [abc] 검색
?abc - 커서위치한 텍스트에서 역방향으로 [abc] 검색
n - 순방향으로 이전 검색 반복
N - 반대 방향으로 이전 검색 반복
8.Vi 에디터 종료
vi 에디터를 종료하기 위해서는 입력모드 상태라면 먼저 [Esc]키를 누른 후에 마무리 모드로 변경해야 하는데 [:] 를 치시고 명령어 입력하시면 되요..
:w - 파일로 저장하기
:w abc.txt - abc.txt 로 저장하기
:w! - 파일로 강제로 저장하기
:q - 변경된 내용이 없을때 그대로 종료하기
:q! - 변경된 내용을 저장하지 않고 강제로 종료하기
:wq - 변경된 내용을 저장하고 종료하기
:wq! - 파일로 강제로 저장하고 종료하기
:x - 변경된 내용을 저장하고 종료하기
ZZ - 변경된 내용을 저장하고 종료하기
9. 기타 명령어
:e abc.txt - abc.txt 파일 편집
:n - n 번째 줄로 이동
:set nu - 행번호 표시
:set nonu - 행번호 숨기기
:! - 잠시 쉘로 복귀
:!abc - 명령어[abc]가 쉘에서 실행후 복귀
:sh - 쉘프롬프트 실행, exti 로 복귀