'vi'에 해당되는 글 2건

  1. 2011.04.26 리눅스 vi 에디터 편집 명령어
  2. 2008.06.04 Vi 편집기

리눅스 vi 에디터 기본 필수명령어 모음입니다.


[ 명령모드 ]


L - 화면에 마지막으로 이동

G - 파일의 끝으로 이동

u - 이전 상태로 되돌림

n - 다음 단어를 검색함

N - 이전 단어를 검색함

dd - 한 라인을 삭제함

x - 한 문자를 삭제함

i - 입력모드 전환

ctrl+f - 한 페이지 아래로 이동

ctrl+b - 한 페이지 위로 이동

/검색할내용 - 특정 단어 검색

yw - 커서가 있는 단어를 복사함

yy - 커서가 있는 라인을 복사

L - 화면에 마지막으로 이동

G - 파일의 끝으로 이동

u - 이전 상태로 되돌림

n - 다음 단어를 검색함

N - 이전 단어를 검색함

dd - 한 라인을 삭제함

x - 한 문자를 삭제함

i - 입력모드 전환

ctrl+f - 한 페이지 아래로 이동

ctrl+b - 한 페이지 위로 이동

/검색할내용 - 특정 단어 검색

yw - 커서가 있는 단어를 복사함

yy - 커서가 있는 라인을 복사



[ 입력모드 ]

입력모드는 i로 전환할수 있으며 수정하다 esc를 누르면 아래에 위치해있던 - INSERT - 가 사라집니다.





[ 라인모드 ]

:w - 지금까지 수정했던 정보가 저장됩니다.

:q - vi 에디터를 종료합니다.

:wq - 저장하고 바로 vi 에디터를 종료합니다.

:q! - 저장하지 않고 vi 에디터를 강제종료 합니다.




VI 에디터 전체 명령어



# 시작/종료 및 기타

:set number 또는 :set nu 행에 번호 부여

:set nonumber 또는 :set nonu 행에 부여된 번호 제거

:ZZ 또는 :wq 저장하고 vi 에디터 종료

:w [filename] 주어진 파일 이름으로 저장

:w! [filename] 주어진 파일 이름으로 저장/덮어쓰기 후 종료

:w! 저장후 편집종료

:q 저장하지 않고 vi 에디터 종료

:q! 저장하지 않고 vi 에디터 강제종료

:e vi 에디터 종료하지 않고 다른 파일 편집

:e! 편집한 내용 저장하지 않고 최종 저장된 상태로 파일 열기



# 입력 편집 명령어


i 문자 앞에서부터 입력

a 현재 문자 뒤에서부터 입력

I 현재 라인 첫머리에서부터 입력

A 현재 라인 맨뒤에서부터 입력

o 현재라인 아래에 입력

O 행의 위에 입력

r 겹쳐쓰기(커서위치 1문자 변환)

R 현재문자 이후부터 겹쳐쓰기

s 커서가 있는 단어를 지우고 입력하기

ch 커서 바로 앞의 한글자를 여러글자로 수정하기

S 커서가 있는 행을 지우고 입력하기

cw 커서 위치의 한 단어를 수정하기

co 커서 위치부터 줄의 처음까지 수정하기

c 커서 위치부터 줄의 끝까지 수정하기

cc 커서가 있는 줄을 수정하기

cj 커서가 있는 줄과 그 다음 줄을 수정하기

ck 커서가 있는 줄과 그 앞줄을 수정하기



# 삭제 명령어

dw 한 단어 삭제

dd 한 라인 삭제

[number]dd 커서있는 위치에서 숫자만큼 라인 삭제

dj 커서가 있는 줄과 그 다음 줄을 삭제

dk 커서가 있는 줄과 그 앞줄을 삭제

do 커서 위치부터 줄의 처음까지 삭제

x 커서의치의 글자 삭제

D 한줄삭제

d$ 커서 위치부터 줄의 끝까지 삭제

X 커서 바로 앞의 글자 삭제



# 치환 명령어


cw 한 단어 바꾸기(단어의 첫머리에 커서 위치해야함)



# 복사 명령어


y 문자 복사

yy 한라인 복사

yw 커서 위치부터 단어의 끝까지 복사하기

yj 커서가 있는 줄과 그 다음줄을 복사하기

yo 커서 위치부터 줄의 처음까지 복사하기

yk 커서가 있는 줄과 그 앞줄을 복사하기

y$ 커서 위치부터 줄의 끝까지 복사하기

p 현재 줄 다음에 버퍼의 내용을 붙임

P 현재 줄 앞에 버퍼의 내용을 붙임



# 명령어 취소/반복


esc key 입력화면에서 빠져나옴옴

u 또는 :u 되돌리

U 그줄에 행해진 작업 모두 취소하기

. 조금전에 했던 명령 반복하기



# 이동 명령어


:[number] 숫자의 행으로 이동

:0 문서의 맨앞으로 이동

:$ 문서의 맨뒤로 이동

l 오른쪽으로 이동

h 왼쪽으로 이동

j 아래로 이동

k 위로 이동

B 특수문자,기호제외(한단어 뒤로이동)

b 한단어 뒤로 이동

w 한단어 앞으로 이동

W 특수문자, 기호제외(한단어 앞으로 이동)

enter 다음줄의 첫글자로 이동

e 단어의 마지막 글자로 이동

o 라인의 시작으로 이동

E 단어의 마지막 글자로 이동하기

$ 라인의 끝으로 이동

shift키와 함께 사용

gg 파일의 첫 행으로 이동

G 파일의 마지막 행으로 이동

^ 라인의 첫 번째 단어로 이동

shift키와 함께 사용

+ 다음 라인의 처음으로 이동

H 화면의 맨위로 이동

- 이전 라인의 처음으로 이동

M 파일의 중간으로 이동

[ctrl]+F 한 화면 앞으로 이동

L 화면의 끝으로 이동

[ctrl]+D 한 화면의 반만큼 앞으로 이동

/[text] 단어검색

/[filename] 파일검색

[ctrl]+B 한 화면의 뒤로 이동

[ctrl]+U 한 화면의 반만큼 뒤로 이동

저작자 표시비영리변경 금지
Posted by 으랏차
,

Vi 편집기

Linux 2008. 6. 4. 13:41

- vi 편집기란?  

파일을 생성하거나 편집하는데 사용하는 프로그램을 에디터(editor)라고 합니다.
유닉스에서 사용하는 에디터 중 vi 에디터 텍스트 편집기로 가장 대표적인 프로그램은 vi 에디터 입니다. vi 편집기는 Visual Editor로서, 모든 유닉스 시스템에 있으며 따라서 vi 편집기를 사용할 수 있다는 것은 어떤 유닉스 시스템에서도 문서 작업을 할 수 있다는 것을 의미합니다.

예를 들어 전자우편을 작성하거나, 프로그램을 작성하는 일, 또는 기타문서를 작성할 때에 편집기는 필수적인 연장(tool)입니다.


- vi 에디터 구성과 방법  
vi는 입력 모드와 명령어 모드 그리고 라인 모드의 세 가지 형태로 구성되어 있습니다.입력모드는 일반적은 텍스트 에디터와 같이 원하는 문자를 입력할 수 있는 상태를 말하고, 명령어 모드는 입력한 내용을 편집하기 위해서 다양한 편집 관련 명령어를 사용 할 수 있는 상태를 의미 한다.

따라서 입력 모드에서는 문자의 입력만이 가능하며 문단의 재구성과 삽입, 삭제 등의 편집 기능은 오직 명령어 모드에서만 사용할 수 있습니다.

vi를 실행한 직후에는 명령어 모드에 위치하게 되며 i(insert)나 a(append), o(open)를 입력하게나 <Insert> 키를 이용해서 입력 모드로 전환할 수 있다.

입력 모드에서 명령어 모드로 복귀할 때는 <Esc>키만을 사용합니다.입력     모드로 전화 i 또는 a 또는 o 또는 <Inset> 명령어 모드로 전환 <Esc>vi는 입력 모드와 명령어 모드 이외에 라인 모드를 추가로 갖고 있는데, 이는 셸 명령어나 외부 프로그램들을 에디터의 내부에서 직접 실행 시킬 수 있는 모드입니다.

라인 모드는 vi의 본체인 ex가 실행되는 상테이므로 보다 원초적인 텍스트 조작이 가능해진다. 또한 라인 모드는 셸과 직접 연결되어 파이프를 구성하기 때문에 작업 중인텍스느에 대해서 다양한 작업을 연결시킬 수 있다.

다른 모드와는 달리 라인 모드는 화면의 마지막 줄에 라인 모드임을 알리는 콜론(:)과 함께 입력한 내용이 출력되어 진행 중인 내용을 확인을 할 수 있도록 되어 있다. 라인 모드는 명령어 모드에서만 전환될 수 있으며, 입력 모드에서 직접 라인 모드로 들어올 수 없다.

따라서 vi 에디터는 실행 직후에 위치한 명령어 모드에서 입력 모드 그리고 라인 모드의 세 가지 모드를 상호 전환시키면서 작업을 진행하는 방식으로 사용된다.

그림 삽입.

라인 모드에서 :을 먼저 입역한 뒤에 원하는 명령어를 입력하는 방식으로 vi 명령어 이외의 셸 명령어와 외부 명령어들을 실행시킬 수 있다.

1.시작  
vi file vi를 시작하여 지정한 파일 편집
vi -R file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집
view file 읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

2.종료  
:wq 데이터를 저장하고 종료
:q! 데이터를 저장하지 않고 종료

3. 디스플레이 제어하기  
^L 현재 화면을 다시 디스플레이하기
:set number 내부 줄 번호 디스플레이
:set nonumber 배부 줄 번호 디스플레이 않기


4. 마지막으로 지운 것 복사하기  
p 마지막으로 지워진 것을 커서의 뒤/아래에 삽입
P 마지막으로 지워진 것을 커서의 앞/위에 삽입
xp 두 문자를 바꿈
deep 두 단어를 바꿈
ddp 두 줄을 바꿈


5. 패턴 검색  
/rexp 지정된 정규 표현식에 대해 앞으로 이동
/ 이전의 패턴에 대해 앞으로 검색을 반복
?rexp 지정된 정규 표현식에 대해 뒤로 이동
? 이전의 패턴에 대해 뒤로 검색을 반복
n /나 ?명령에 대해 같은 방향으로 반복
N /나 ?명령에 대해 반대 방향으로 반복

6. 약어의 사용  
:ab short long short를 long에 대한 약어로 변경
:ab 현재 약어 목록을 표시
:una short 약어 short를 표시

7. 줄 길이의 조정  
r<Return> 문자를 뉴라인으로 변경
J 줄의 결합
:set wm=n 오른쪽으로 n문자 위치에서 자동적으로 줄 나눔

8. 커서 이동  
h<Left> 커서를 한 칸 왼쪽으로 이동
j<Down> 커서를 한 줄 아래로 이동
k<Up> 커서를 한 줄 위로 이동
l<Right> 커서를 한 칸 오른쪽으로 이동
<Backspace> 커서를 한 칸 왼쪽으로 이동
<Space> 커서를 한 칸 오른쪽으로 이동
- 커서를 이전 줄의 처음으로 이동
+ 커서를 다음 줄의 처음으로 이동
<Return> 커서를 다음 줄의 처음으로 이동
0 커서를 현재 줄의 맨 앞으로 이동
$ 커서를 현재 줄의 맨 끝으로 이동
^ 커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동
w 커서를 다음 단어의 첫 글자로 이동
e 커서를 다음 단어의 끝 글자로 이동
b 커서를 이전 단어의 첫 글자로 이동
W w와 같음(문장 부호 무시)
E e와 같음(문장 부호 무시)
B b와 같음(문장 부호 무시)
( 다음 문장의 처음으로 이동
) 이전 문장의 처음으로 이동
{ 다음 문단의 처음으로 이동
} 이전 문단의 처음으로 이동
H 커서를 화면 맨 위로 이동
M 커서를 중간으로 이동
L 커서를 맨 아래로 이동

9. 편집 버퍼를 통한 이동  
^F 한 화면 아래로 이동
^B 한 화면 위로 이동
n^F n화면 아래로 이동
n^B n화면 위로 이동
^D 반 화면 아래로 이동
^U 반 화면 위로 이동
n^D n줄만큼 아래로 이동
n^U n줄만큼 위로 이동

10. 셸 명령 실행  
:!command vi를 중단하고 지정한 셸 명령을 실행
:!! vi를 중단하고 이전의 셸 명령을 실행
:sh vi를 중단하고 셸을 실행
:!csh vi를 중단하고 새로운 C-셸을 실행


11. 패턴에 의한 치환  
:s/pattern/replace/ 현재 줄의 치환
:lines/pattern/replace/ 지정한 줄의 치환
:line,lines/pattern/replace/ 지정한 범위의 치환
:%s/pattern/replace/ 모든 줄의 치환


12. 데이터 읽기  
:liner file file의 내용을 지정한 줄 다음에 삽입
:r file file의 내용을 현재의 줄 다음에 삽입
:liner !command command의 결과를 지정한 줄 다음에 삽입
:r !command command의 결과를 현재의 줄 다음에 삽입
:r !look pattern 지정한 pattern으로 시작된 단어 삽입

13. 정규 표현식을 사용하기 위한 특수 기호  

.

뉴라인을 제외한 모든 단일 문자와 대응

*

영 또는 그 이상의 선행 문자와 대응

^

줄의 시작과 대응

$

줄의 끝과 대응

\<

단어의 시작과 대응

\>

단어의 끝과 대응

[ ]

묶여진 문자중의 하나와 대응

[^ ]

묶여진 문자를 제외한 아무것하고나 대응

\

이어지는 기호를 문자 그대로 해석


14. 줄 번호  
nG 줄번호 n으로 건너뛰기
1G 편집 버퍼의 첫 줄로 건너뛰기
G 편집 버퍼의 마지막 줄로 건너뛰기
:map g lG g가 lG와 같도록 매크로 정의

15. 삽입  
i 입력 모드로 전환, 커서 위치 앞에서 삽입
a 입력 모드로 전환, 커서 위치 뒤에서 삽입
I 입력 모드로 전환, 현재 줄의 앞에 삽입
A 입력 모드로 전환, 현재 줄의 끝에 삽입
o 입력 모드로 전환, 현재 줄의 아래에 전개
O 입력 모드로 전환, 현재 줄의 위에 전개

16. 편집하고 있는 파일을 바꾸기  
:e file 지정한 파일의 편집
:e! file 지정한 파일의 편집, 자동 점검의 생략

17. 내용 고치기
r 단지 한 글자만 변경(입력 모드로 바뀌지 않음)
R 입력하는 대로 겹쳐 써서 변경
s 삽입에 의해 한 단어의 변경
C 커서의 위치로부터 줄 끝까지 삽입에 의한 변경
cc 전체 줄을 삽입에 의한 변경
S 전체 줄을 삽입에 의한 변경
cmove 커서부터 move까지 삽입에 의해 변경
~ 대,소문자 바꾸기


18. 고치기의 취소 또는 반복  
u 편집 버퍼를 수정했던 마지막 명령을 취소
U 현재 줄을 저장
. 편집 버퍼를 수정했던 마지막 명령 반복

19. 문자 삭제  
x 커서가 있는 문자 삭제
X 커서의 왼쪽 문자 삭제
D 커서부터 줄의 끝까지 삭제
dd 현재 줄의 전체 삭제
dmove 커서부터 move까지 삭제
dG 커서부터 편집 버퍼의 끝까지 삭제
d1G 커서부터 편집 버퍼의 맨 앞까지 삭제
:lined 지정한 줄의 삭제
:line, lined 지정한 범위의 삭제

20. 여러 줄의 복사와 이동  
:linecotarget 지정한 줄을 복사하여 target 줄 밑에 삽입
:line, linecotarget 지정한 범위를 복사하여 target 줄 밑에 삽입
:linemtarget 지정한 줄로 이동하여 target 줄 밑에 삽입
:line, linemtarget 지정한 범위로 이동하여target 줄 밑에 삽입

21. 데이터를 처리하기 위한 셸 명령의 사용  
n!!command n번 줄에서 command의 실행
!move command 커서부터 move까지 command 실행
!move fmt 커서부터 move까지 줄들을 형식 맞추기

22. 데이터 저장하기  
:w 원래의 파일로 데이터를 저장
:w file 지정한 파일로 데이터를 저장
:w>> file 지정한 파일에 데이터를 추가

 

'Linux' 카테고리의 다른 글

lighthttpd install  (0) 2008.06.04
설치  (0) 2008.06.04
BIND,NAMED? DNS설정  (0) 2008.06.04
Command2  (0) 2008.06.04
Command  (0) 2008.06.04
Posted by 으랏차
,