[ServerProgramming] Vi Editor, GCC

2024. 10. 7. 15:43CS/ServerProgramming

1. Vi Editor

Vi Editor는 두 모드로 나뉜다.

Command mode : vi를 실행하면 명령 모드로 들어와진다.

Input mode : i를 입력해서 Input mode로 진입할 수 있다. 인풋 모드에서 text를 작성할 수 있다. esc 키를 눌러서 명령 모드로 돌아갈 수 있다.

How to exit from vi (command mode)

:q : 종료

:q! : 저장하지 않고 종료

:wq : 저장하고 종료

Moving Around

h : left

l : right

j : down

k : up

Entering Text

a : insert 모드로 가는데 커서 뒤에서부터 입력

i : insert 모드로 가는데 커서 앞에서부터 입력

o : insert 모드로 가는데 현재 커서 아래 줄에 새로운 줄 생성해서 입력

Editing text

delete, x : 커서 앞에서 글자 삭제, delete는 input mode

dd : 한줄 전체 삭제

dw : 워드 하나 삭제

d0 : 라인의 시작 단어 삭제

u : undo

. : 마지막 커맨드 반복

Copy, cut, paste

yy / dd : 복사하기 / 잘라내기

nyy / ndd : n줄 복사 / 잘라내기, n에는 숫자가 들어감

v : visual mode, 커서를 움직여서 드래그할 수 있다.

Jump

gg : 맨 위로 이동

G : 맨 끝으로 이동

nG : n줄로 이동

Search, Replace

/asdf : asdf 찾기

  • To move forward, n
  • To move backward, N

:%s/asdf/xywz/g : replace asdf by xywz

유용한 vi environment → .vimrc

au FileType * setl fo--=cro
  - 자동 주석
syntax on / off
set number / nonumber
set wrap / nowrap
set hlsearch
set ignorecase
set ts =4
au BufReadPost * if line("'\\"")|execute("normal `\"")|endif
  - 파일 오픈시 편집하던 위치로 이동

2. GCC

-o

  • 출력 파일명을 정하는 옵션
  • gcc -o hello hello.c : hello.c를 컴파일해서 hello라는 실행 파일로 만듦

-l

  • 필요 라이브러리를 지정

-g

  • 컴파일된 오브젝트파일에 디버깅 코드 추가
  • 추후 gdb를 사용할 때 꼭 필요
  • gcc -g -o hello hello.c

-O

  • 코드를 최적화
  • -O2는 가장 많이 최적화하고 -O0은 최적화하지 않음. 기본 값은 -O1

-I

  • #include 에서 지정한 헤더 파일이 들어있는 곳을 지정
  • gcc -c source.c -Iinclude -I를 붙여서 써야 함

-L

  • 그 라이브러리가 어느 디렉토리에 있는지 알려줌