라즈베리 파이의 nano 와 같은 에디터의 키 설명을 적어보도록 하겠습니다.
vi는 보통 유닉스, 리눅스에서 많이 사용하는 편집기입니다.
vi의 실행은 nano와 똑같습니다.
> vi 파일명
vi editor
텍스트 입력 모드 |
|
범위 설정 |
|
커서 이동 | |||||||
i |
커서 앞에서 삽입 |
1,$ |
모든 줄 |
k |
한 줄 위로 | ||||||
a |
커서 뒤에서 삽입 |
1,. |
처음부터 현재 줄까지 |
j |
한 줄 아래로 | ||||||
o |
현재 줄 다음부터 삽입 |
.,$ |
현재부터 마지막줄까지 |
l |
오른쪽으로 | ||||||
O |
현재 줄 앞에서 삽입 |
.-2 |
현재부터 앞 두줄까지 |
h |
왼쪽으로 | ||||||
R |
텍스트가 대치 |
.+2 |
현재부터 뒤 두줄까지 |
^ |
줄의 시작으로 | ||||||
텍스트 지우기 |
텍스트 치환 |
$ |
줄의 끝으로 | ||||||||
x |
문자 |
r |
문자 |
b |
한 단어 앞으로 | ||||||
dw |
단어 |
cw |
단어 |
w |
한 단어 뒤로 | ||||||
dd |
줄 |
cc |
줄 |
Ctrl+d |
반 화면 아래로 | ||||||
D |
현재 줄의 끝까지 |
텍스트 붙이기 |
Ctrl+f |
한 화면 아래로 | |||||||
: |
블록단위의 줄 |
|
줄을 버퍼에 복사 |
Ctrl+u |
반 화면 위로 | ||||||
탐색 |
pu |
현재 줄 다음에 붙이기 |
Ctrl+b |
한 화면 위로 | |||||||
/sss |
뒤쪽으로sss탐색 |
:nnpu |
줄 nn다음에 붙이기 |
:nn |
줄번호 nn으로 | ||||||
?sss |
앞족으로 sss 탐색 |
파일 저장/불러오기 |
기타 | ||||||||
n |
마지막 탐색명령 반복 |
:w |
현재 이름으로 저장 |
Ctrl+l |
화면을 다시 그림 | ||||||
탐색/치환 |
:w mm |
mm으로 저장 |
:! |
잠깐 | |||||||
: |
처음 줄만 치환 |
:e mm |
mm파일 편집 |
:q |
종료 | ||||||
: |
모두 치환 |
:n |
다음 파일 편집 |
:q! |
저장않고 종료 | ||||||
Shell 사용하기 |
|
검 색 | |||
:! |
shell명령 실행 후 Enter키로 복귀 |
f |
동일 행 검색 | ||
:sh |
Shell prompt실행, exit로 복귀 |
/ |
순방향 점체 검색 | ||
Ctrl+z |
Vi process 중지, fg로 복귀 |
? |
역방향 전체 검색 | ||
화면 및 커서 이동 |
; |
동일 행 반복 검색 | |||
z |
현재 행을 화면의 상단으로 이동 |
N, n |
전체 행 반복 검색 | ||
z. |
현재 행을 화면의 중앙으로 이동 |
/^ |
검색 문자열을 행의 시작에 한정 | ||
Ctrl+E |
한 행 아래로 이동 |
/$ |
검색 문자열을 행의 마지막에 한정 | ||
Ctrl+Y |
한 행 위로 이동 |
/. |
한 문자를 나타낸다 | ||
H |
현재 화면의 상단으로 커서를 이동 |
/[ ] |
문자 집합, ^은 여집합 | ||
M |
현재 화면의 중앙으로 커서를 이동 |
/ * |
0이상의 반복을 의미 | ||
L |
현재 화면의 하단으로 커서를 이 |
/ \< |
패턴을 단어의 시작에 한정 | ||
텍스트 수정 |
/ \> |
패턴을 단어의 끝에 한정 | |||
r |
한 문자 치환 |
/ \ |
\ 뒤의 문자를 에스케이프 | ||
R |
커서 우측으로 입력되는 문자 치환 |
행 병합 / 명명 | |||
s |
한 문자를 여러 문자로 치환, Esc종료 |
J |
두 행을 한 행으로 | ||
cw |
단어 치환 |
m |
행을 a에서 z중의 하나로 표시 | ||
c$ |
커서부터 행의 마지막까지 치환 |
블럭 지정 및 붙여넣기 | |||
c^ |
행의 시작부터 커서까지 치환 |
yw |
현재 커서가 있는 단어 | ||
cc |
행 전체 치환 |
y$ |
현재 커서가 있는 곳에서 행의 끝 | ||
Vi 옵션 |
y^ |
현재 커서가 있는 곳에서 행의 시작 | |||
vi –r |
임시저장 파일 읽음 |
yy |
현재 커서가 있는 행의 전체 | ||
vi –R |
Read Only로 읽음 |
p |
붙여넣기 | ||
vi +n |
시동시에 n번째 행을 보여줌 |
|
| ||
텍스트 복구
vi는 사용자의 마지막 9개의 삭제를 9개의 버퍼에 보관함으로써 대부분의 잘못된 삭제를 복구할 수 있다. p 명령 앞에 버퍼 번호를 주어 해당 버퍼에 있는 내용을 되살릴 수 있다.
예제) "2p, "1p
매크로
매크로는 여러가지 기본 명령을 확장해 보다 복잡한 작업을 쉽게 처리하기 위해 제공되는 기능이다.
- Buffer 매크로
vi의 a부터 z까지의 버퍼에 명령을 지정하여 실행 할 수 있다. 실행 방법은 @
매크로 명령을 buffer에 저장하기 위해선 해당 매크로 명령을 입력 모드에서 편집한 다음
"
예제) i\fI^[Ea\fP^[
"aD
@a
- Map
주어진 명령 문자열을 키보드의 키에 지정되도록 해주는 기능이다. 이것은 :map 명령을 사용한다.
예제) :map #1 i\fI^V
- 삽입 모드 맵
맵은 삽입 모드 동안에는 사용할 수 없다. 삽입 모드에서 맵을 이용하기 위해선 삽입 모드 맵을
사용해야 한다. 이것은 :map! 명령을 사용한다.
예제) :map! #1 Changwon
- 약어
약어는 말 그대로 어떤 긴 문자열에 대한 약어를 지정해 주는 것으로써 좀더 문서의 편집을 쉽게
하기 위해 제공되는 기능이다. 이것은 :ab명령을 사용한다.
예제) :ab ux UNIX(tm)
주요 vi 옵션
autoident(ai) : 새로운 각 행을 이전 행 또는 새로운 행이 생길 때 커서가 어떤 위치에 자동으로 인덴트
되도록 한다. c 프로그래밍할 때 유리하다.
autowrite(aw) : 다른 화일로 옮겨갈 명령을 실행하기 전 또는 쉘로 잠시 나오기 전에 현재 화일을 강제
로 저장한다.
ignorecase(ic) : 검색과 대치시 대소문자 구분을 무시한다.
magic : 모든 정규식 문자를 사용할 수 있게 한다.
mesg : 문서 편집 동안 메시지가 화면에 출력되는 것을 허용한다.
number(nu) : 문서의 행에 행번호를 붙여 화면에 출력한다.
showmach(sm) : )나 {를 입력할 때마다 자동으로 커서가 대응하는 (나 }로 이동하여 1초동안 머문다.
showmode : 상태 행에 현재 편집 모드를 출력한다.
wrapscan(ws) : vi가 매번 화일 전체를 검색하도록 한다.
검색은 항상 현재 행부터 시작해서 화일의 끝으로 진행된다.
예제) 문서의 각행에 행번호를 출력하는 예제 :set number
번호 출력을 해제하는 예제 :set nonumber
현재 vi 모드를 출력하는 예제 :set showmode
'IT만들기 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 리눅스(유닉스) 초간단 메일 서버 구축하기(sendmail) (0) | 2017.06.19 |
---|---|
라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (4) - 한글 설정 (0) | 2017.06.17 |
라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (3) 최적화 하기(raspi-config) (1) | 2017.06.17 |
테스트용 자체인증 SSL 서버 구축 (0) | 2017.06.16 |
라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (2) - 이미지 size 늘리기 (3) | 2017.06.11 |
라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (1) 프로그램설치 (9) | 2017.06.10 |
댓글