php관련

간단히 익혀 보는 리눅스 vi 명령어

PHPdev 2011. 11. 22. 17:36
반응형

명령어

 

h: 좌 이동
l : 우 이동
j : 위 이동
k : 아래 이동

 

$ : 줄 끝으로

^ : 줄 처음으로(빈칸무시)

0 : 줄 처음으로

w : 다음 단어 처음으로 이동

b : 이전 단어 처음으로 이동

e : 단어 끝으로 이동

 

% : 짝을 이루는 기호 블럭이동 <>(){}[] 

(,),{,},[[,]],[{,]}, ctr+[, ctr+] : 블럭이동

 

gg : 문장 처음으로 이동

G : 문장 마지막 으로 이동
nG=ngg : n번째행으로 이동


화면상단 : H
화면중앙 : M
하면하단 : L


페이지 up : ctr+b           (backward)
페이지 1/2 up : ctr+u     (up)
페이지 1/2 down : ctr+d (down)
페이지 down : ctr+f        (forward)

 

z : 현재행을 상단으로
z. : 현재행을 중앙으로
z- : 현재행을 하단으로

 

a : 오른쪽에 문자 삽입

A : 행 끝에 문자 삽입

i : 왼쪽에 문자 삽입

I : 행의 처음에 문자 삽입

o : 다음 라인에 문자 삽입

O : 윗 라인에 문자 삽입

 

r : n 개의 문자를 원하는 문자로 수정
R : 끼워넣기 모드가 아닌 수정 모드로 변환
x : 오른쪽 n개 지움
X : 왼쪽 n개 지움
s : n개의 문자를 삭제후 입력 모드로
S : n개의 라인 삭제후 입력 모드로

c : 문자 바꾸기 (s 의 다른 점은 w,b,$,^ 등과 같이 사용 가능)

cc=S : 줄 바꾸기

C : 커서 이후 한줄 바꾸기

 

y : n 개 좌우면 문자 상하면 라인 복사 (ex: y+3+j  or 3+y+l)
Y=yy : n 라인 복사
d : n 개 좌우면 문자 상하면 라인 삭제 (ex: d+3+j or 3+d+l)
d$ = D : 현재줄에서 커서 이후 모두 삭제

d^ : 현재줄에서 커서 앞 모두 삭제

dd : 현재줄 삭제

D : 현재줄에서 커서 이후 모두 삭제

 

p : 커서 뒤에 버퍼값 붙여넣음

P : 커서 앞에 버퍼값 붙여넣음

 

v : 커서 선택모드
V : 라인 선택모드

(x : 선택부분 짤라냄, y : 선태부분 복사, = : 선태부분 정렬)

 

? : 위로 찾을 문자 입력

/ : 아래로 찾을 문자 입력

* : 커서가 있는 단어 찾기 및 아래로 찾기

n : 아래로 찾기

N : 위로 찾기


undo : u
redo : ctr-r


== : 현재줄 자동정렬
~ : 대소문자 토글
<< : 윈도우의 shift+tab 과 같은기능
>> : 윈도우의 tab 키와 같은기능


J : 라인 연결
.  : 최근 명령 반복
& : 최근의 ex 교체 명령 반복

 

m<0-9,a-z,A-Z> : 해당 라인을 마킹한다.

'<0-9,a-z,A-Z> : 마킹한 라인으로 이동.

`<0-9,a-z,A-Z> : 마킹한 라인 첫번째 문자로 이동

 

q<0-9,a-z,A-Z> : 레코딩시작

q : 레코딩 끝

@<0-9,a-z,A-Z> : 레코딩 적용

@@ : 이전 레코딩 적용

n@@ : n번 레코딩 적용

 

- ex 명령어

 

vi 에서 사용하는 ex 명령어는 이전 ex 편집기에서 지원하던 기능들입니다. ex 모드(콜론 모드) 에서 사용하는 명령어는 열기(open), 저장(save) 다른 이름으로 저장(save as) 등의 명령을 수행합니다.

 

:1,$s/문자열1/문자열2/g   : 문자열1 을 문자열2 로 변환

:s/문자열1/문자열2 : 현재 라인에 문자열 변환

 

:w - 저장

:q - 종료

:wq - 저장후 종료

:w! - 강제 저장(read-only 에서)

:q! - 저장안하고 종료

 

:r file_name : 현재 위치에 file_name 읽어 들이기

:w file_name - 새이름으로 저장

:w %.new - 현재 파일명에 .new 를 붙여서 새로 저장

 

:200,$ w file-name : 200 줄 부터 끝까지 새 이름 저장

:.,600 w file-name : 현재줄부터 600줄까지 새 이름 저장

:1,10 w file_name : 1줄 부터 10줄 까지 새 이름 저장

:340,$ w >> file_name : 340 줄 부터 끝까지 file_name 에 추가 하기

 

- 정규 표현식

 

? : 한글자를 대표 하는 기호

* : 여러개의 문자를 동시에 대표 하는 기호

^ : 줄의 처음

$ : 줄의 맨끝

% : 처음줄 부터 끝줄 까지

\ : 특수한 의미의 기호 무시 (\$ 는 끝줄이 아닌 그냥 $ 를 의미)

< : 단어의 시작

> : 단어의 끝

[^] : 묶어진 문자를 제외한 아무것이나 대응함

[A-Z] : A,B,C,D ... X,Y,Z 를 의미함

[a-z] : a,b,c,d ... x,y,x 를 의미함

[0-9] : 1,2,3,4,5,6,7,8,9,0 를 의미

[A-Z,a-z,0-9] :

[AB] : A or B

p[aeiou]t : pat,pet,pit, pot, put 를 의미함

 

윈도우용 vim

----------------------------------------------------------------------------------------

 

set nocompatible " vim 확장기능 사용함

set autoindent " 자동으로 들여쓰기를 한다.
set cindent " C 프로그래밍을 할때 자동으로 들여쓰기를 한다.
set smartindent " 좀더 똑똑한 들여쓰기를 위한 옵션이다.
set textwidth=79 " 만약 79번째 글자를 넘어가면 자동으로 를 삽입하여 다음 줄로 넘어간다.
set nowrapscan " 검색할 때 문서의 끝에서 다시 처음으로 돌아가지 않는다.
set nobackup " 백업 파일을 만들지 않는다.

set noswapfile " swap 파일을 만들지 않는다.
set visualbell " 키를 잘못눌렀을 때 삑 소리를 내는 대신 번쩍이게 한다.
set ruler " 화면 우측 하단에 현재 커서의 위치(줄,칸)를 보여준다.
set tabstop=4 " Tab을 눌렀을 때 8칸 대신 4칸 이동하도록 한다.
set shiftwidth=4 " 자동 들여쓰기를 할때 4칸 들여쓰도록 한다.

set guifont=돋움체:h10:cHANGEUL " 화면 폰트를 설정한다.

set guioptions=gmrLtT " 화면 설정을 한다.

set guioptions-=LtT " 화면에서 툴바를 뺀다.

set number
set showmatch " <>{}[]() 등을 알려준다.

set paste " 붙여넣기시 계단현상 방지

set nojoinspaces " J 명령어로 줄을 붙일때 마침표뒤 한칸만 뜀

set ignorecase " 찾기시 대소문자 구별안함

 

" 문서를 읽을 때 BOM 을 자동으로 제거하려면, fencs 맨 앞에 ucs-bom 를 추가하세요.

set enc=utf-8  " 화면에 보여주는 encoding 방식

set tenc=utf-8 " 터미널에서 보여주는 encoding 방식

set fenc=utf-8 " 수정하려는 파일의 encoding 방식

set fencs=utf-8,cp949,cp932,euc-kr,euc-jp,shift-jis,big5,latin1,ucs-2le

 

----------------------------------------------------------------------------------------

" Proc syntex 적용

1. 첨부 파일 proc.vim 을 $VIMRUNTIME/syntex/ 밑에 넣는다.

 

주의 : 파일이름이 반드시 proc.vim 이어야 한다.

 

2. gvim.exe 가 있는 폴더에서 filetype.vim 을 열어 다음을 추가한다.

 

au BufNewFile,BufRead *.pc   setf proc

 

참고 : gvim 7.0 의 경우

au BufNewFile,BufRead .pc   setf proc 와 같이 이미 들어 있으므로 .pc 를 *.pc 로 수정만 하면 된다.

 

" 실행중 파일형식을 적용할때

setfiletype proc " Pro*C 타입을 적용한다.

 

참고 사이트 : http://www.vim.org/scripts/script.php?script_id=655

----------------------------------------------------------------------------------------

 

1. vi의 시작

명령어

작업 설명

vi filename

파일 열기, 작성

vi +18 filename

18행으로 파일 열기

vi +/"string" fn

"string"의 처음발생 단어부터 열기

vi -r filename

손상된 파일 회복

view filename

읽기 전용으로 파일 열기


2. 커서의 이동 명령

명 령 어

작 업 설 명

h(←)
j(↓)
k(↑)
l(→)

왼쪽으로 커서 이동
아래로 커서 이동
위로 커서 이동
오른쪽으로 커서 이동

w
b

한 단어 오른쪽으로 커서 이동
한 단어 왼쪽으로 커서 이동

^
$

라인의 처음으로 이동
라인의 마지막으로 이동

H
M
L

화면의 맨 위로 이동
화면의 중간으로 이동
화면의 맨 아래로 이동

Ctrl+F
Ctrl+D
Ctrl+B
Ctrl+U

한 화면 뒤로 이동
반 화면 뒤로 이동
한 화면 앞으로 이동
반 화면 앞으로 이동


3. 문자와 행삽입

명 령 어

작 업 설 명

a

커서 오른쪽에 문자 삽입

A

커서 오른쪽, 행의 끝에 문자 삽입

i

커서 왼쪽에 문자 삽입

I

커서 왼쪽, 해의 처음에 문자 삽입

o

커서 아래에 행 삽입

O

커서 위에 행 삽입

작업 종료후 입력


4. 텍스트 변경

명 령 어

작 업 설 명

cw (종료 :ESC)

단어 변경

R (종료 :ESC)

현재 커서 위치부터 대체

r

커서 위치 문자를 다른 문자로 대체

~

문자형(대, 소문자)변경

J

현재 행과 아래 행 결합

u

이전 명령 취소


5. 텍스트 삭제

명령어

작 업 설 명

x

문자 삭제

dw

단어 삭제

dd

행 삭제

D

커서 오른쪽 행 삭제

;5, 10 d

5-10번째 삭제


6. 텍스트 복사 및 이동

명 령 어

작 업 설 명

yy

행 yank

Y

행 yank

p

yank되거나 삭제된 행 현재 행 아래에 삽입

P

yank되거나 삭제된 행 현재 행 위에 삽입

:1,2 co 3

1-2행을 3행 다음으로 복사

:4,5 m 6

4-5행을 6행 다음으로 이동


7. 행 번호 설정

명 령 어

작 업 설 명

:set nu

행 번호 표시

:set nonu

행 번호 숨기기


8. 행 찾기

명 령 어

작 업 설 명

G

파일의 마지막 행으로 가기

21G

파일의 21번째 행으로 가기

:n

n 라인으로 가기


9. 탐색 및 대체

명 령 어

> 작 업 설 명

/string

> string 탐색

?string?

> string 역방향 탐색

n

> string의 다음(이전) 계속 탐색

:g/search-string/s//

replace-string/gc

각 발생 탐색 후 확인하고 대체

:s/str/rep/

> 현재 행의 str을 rep로 대체

:1,.s/str/rep/

> 1부터 현재 행의 str을 rep로 대체

:%s/str/rep/g

> 파일 전체 str을 rep로 전부 대체


10. 파일을 파일로 삽입

명령어

> 작 업 설 명

:r filename

> 커서 다음에 파일 삽입

:34 r filename

> 파일을 34번째 행 다음에 삽입
반응형