나무 숲

gcc vi편집기 명령어 본문

Career

gcc vi편집기 명령어

wood.forest 2017. 4. 20. 01:56

gcc를 사용할 때 주로 사용하는 vi 편집기의 명령어를 소개합니다.

전에 사용했던 스샷을 잠시 들고오자면,



vi 편집기를 사용하겠고, 파일 이름은 test1.c로 하겠다 는 뜻입니다.

nano 편집기란 것도 있고 다른 것도 있는데 가장 흔하게 쓰이고 쉽게 접할 수 있는 것이 vi 편집기인 듯 합니다. (편집기 = 텍스트 에디터)



vi 편집기로 들어간 화면입니다.

처음에 들어가면 뭔가.. 상태를 결정할 수 있는 상태입니다. i 등을 눌러야 비로소 코드를 작성할 수 있습니다. 다시 상태 설정하는 상태로 나가고 싶다면 esc를 누르면 됩니다. 설명이 이상하지만 해보시면 바로 알 수 있습니다.

그리고 제가 자주 실수하는 것 두번째는 그.. 키보드에서.. 오른쪽에 전화번호부처럼 모여있는 숫자를 누르면.. 안됩니다. 특수문자를 위에 쓰고 있는 숫자들, 자판 위에 일렬로 있는 숫자들을 사용해야 합니다. 이유는 모르겠습니다.

그리고 세번째는 ctrl+c(붙여넣기) 이런 것들 안됩니다ㅠ; gcc는 gnu 라는 운영체제 위에서 돌아가는 것이기에.. 흔히 사용하는 복붙 단축키들은 윈도우 운영체제의 것입니다. 


자주 쓰인다고 생각한 명령어는 진하게 표기했습니다.





1 기본 - 편집기 밖에서



vi 파일명

vi 편집기로, 파일 이름은 '파일명'으로 하여 연다.


view 파일명

읽기 전용으로 '파일명' 파일을 연다.









2 편집기 안에서



커서 이동 명령어


  k(↑)

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


w

오른쪽 한 단어의 끝 부분으로 커서 이동

e

오른쪽 한 단어의 앞 부분으로 커서 이동

b

왼쪽 한 단어의 앞 부분으로 커서 이동



Enter

한 행 아래로 커서 이동

Back space

한 문자 왼쪽으로 커서 이동

Space Bar

한 문자 오른쪽으로 커서 이동



^

행의 맨 왼쪽으로 커서 이동

$

행의 맨 오른쪽으로 커서 이동



H

화면의 맨 위로 이동

M

화면의 중간으로 이동

L

화면의 맨 아래로 이동

숫자G

숫자만큼 지정한 줄로 커서 이동










화면 이동 명령어


Ctrl + f

한 화면 위로 이동

Ctrl + b

한 화면 아래로 이동

Ctrl + d

반 화면 위로 이동

Ctrl + u

반 화면 아래로 이동

Ctrl + e

한 줄씩 위로 이동

Ctrl + y

한 줄씩 아래로 이동









문자,행 삽입 명령어


a (종료:ESC)

커서 오른쪽에 문자 삽입

A (종료:ESC)

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

i (종료:ESC)

커서 왼쪽에 문자 삽입

I (종료:ESC)

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

o (종료:ESC)

커서 아래에 행 삽입

O (종료:ESC)

커서 위에 행 삽입









텍스트 변경 명령어


cw (종료:ESC)

단어 변경

cc (종료:ESC)

행 변경

C (종료:ESC)

커서 오른쪽의 행 변경

s (종료:ESC)

커서가 위치한 문자열 대체

S (종료:ESC)

커서가 위치한 라인의 문자열 대체

r

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

r-Enter

행 분리

J

현재 행과 아래 행 결합

xp

커서 위치 문자와 오른쪽 문자 교환

~

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

u

이전 명령 취소

U

행 변경 사항 취소

:u

이전의 최종 행 취소

.

이전 최종 명령 반복









텍스트 삭제 명령어


x

커서가 있는 문자 삭제

숫자x

커서가 있는 위치부터 '숫자'개의 문자를 삭제

dw

현재 커서가 있는 한단어 삭제

dd

커서가 있는 라인 삭제

숫자dd

커서가 있는 라인부터 '숫자'개의 라인 삭제

db

커서의 위치에서 거꾸로 한단어 삭제

D

커서 오른쪽 행 삭제

:숫자,숫자2d

'숫자'-'숫자2'번째 행 삭제









복사 및 이동 명령어


yy 또는 Y

행 yank(vi에서 복사하는 명령) 또는 복사

P

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

p

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

 

:숫자,숫자2 co 숫자3

'숫자'-'숫자2'행을 '숫자3'행 다음으로 복사

:숫자,숫자2 m 숫자3

'숫자'-'숫자2'행을 '숫자3'행 위로 이동











행 번호 설정 명령어


:set nu

행 번호 표시

:set nonu

행 번호 숨기기












행 찾기 명령어


G

파일의 마지막 행으로 가기

숫자G

파일의 '숫자'번째 행으로 가기

Ctrl + G

현재의 filename과 line수를 알려준다.













탐색 및 대체 명령어


/검색할 문자열/

오른쪽 아래 방향으로 문자열 검색

?검색할 문자열?

왼쪽 위 방향으로 문자열 검색

n

문자열의 다음으로 계속 검색

N

문자열의 이전으로 계속 검색


:g/search-string/s//replace-string/gc

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

:s/str/rep/

현재 행의 str을 rep로 대체

:숫자,.s/str/rep/

'숫자'부터 현재 행의 str을 rep로 대체

:%s/str/rep/g

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


:.$/aaa/bbb/

커서의 위치로부터 화일의 끝까지 있는 모든 aaa를 bbb로 대체











화면정리 명령어


Ctrl + l

불필요한 화면정리 후 다시 표시











파일 명령어


:r filename

커서 다음에 파일 삽입

:숫자 r filename

파일을 '숫자'번째 행 다음에 삽입















보관 및 종료 명령어


:w

변경사항 보관

:w filename

버퍼를 파일로 보관

:wq  또는 ZZ 

변경사항 보관 후 vi 종료


변경사항 보관 후 vi 종료

:q!

변경사항 보관하지 않고 종료

q

수정한 파일을 저장하지 않고 vi 종료

e!

수정한 것을 무시하고 다시 편집상태로

 






조금 덧붙이자면 !는 강제의 의미.

:wq = :x로 대체 가능하다고 합니다.












-
http://www.antsys.co.kr/data/vi_editor.htm


728x90
반응형
Comments