728x90
모드
mode | explain |
Command mode | Esc키 누르면 명령 수행 가능 |
Edit mode | a, i, o 키 입력하면 편집 모드 |
Extended mode | 명령모드에서 :, /, ? 입력하면 명령어 입력가능 |
key | explain |
y | 지정 범위 복사 |
yy | 1줄 복사 |
d | 지정 범위 잘라내기 |
dd | 1줄 잘라내기 |
p | 붙여넣기 |
command | explain |
gg | 문서 맨 앞으로 이동 |
G | 문서 맨 뒤으로 이동 |
:줄 번호 | 해당 줄로 이동 |
범위 선택
- v 입력 후 방향키로 범위 선택
- `Shift + v`로 1줄 선택
- `:set mouse=a 입력하면 마우스로 범위 선택 가능
- `:set mouse-=a 입력하면 마우스로 범위 선택 기능 해제
character | explain |
숫자 | 해당 줄 번호 |
. | 현재 커서 있는 줄 번호 |
$ | 문서 마지막 줄 번호 |
- `:1,5y` → 1~5 번째 줄 복사
- ':1,$d' → 1~마지막 줄까지 잘라내기
문자열 치환 : `범위s/원본 문자열/ 바꿀 문자열/ 옵션`
character | explain |
g | 모든 문자열 치환 |
i | 대소문자 구분하지 않고 문자열 치환 |
c | 치환 여부 묻기 |
- ':1,$s/test/test2/gic' → 1~마지막 줄까지 'test'를 'test2'로 변경.(모든 문자열을 대소문자 구분없이! 치환여부 묻기!)
문자열 검색
command | explain |
/검색어 or ?검색어 | 검색어 찾기 (n: 이전 / N: 다음) |
:set hlsearch | 검색어 하이라이트 |
:set noihlsearch | 검색어 하이라이트 취소 |
undo & redo
command | explain |
u | undo |
ctrl + r | redo |
저장과 종료
command | explain |
:w | 저장 |
:w 파일명 | 파일명으로 저장 |
:q | 종료 |
:q! | 강제 종료 |
:wq | 저장하고 종료 |
주요 설정
command | explain |
:set number | 줄 번호 표시 (반대 : no...) |
:set autoindent
|
자동 들여쓰기 (반대 : no...) |
:set smartindent | 스마트한 들여쓰기 (반대 : no...) |
:set cindent | C언어 스타일의 들여쓰기 (반대 : no...) |
:set shiftwidth=4 | 자동 들여쓰기 4칸 |
:set tabstop=4 | tab을 4칸 공백으로 설정 |
:set expandtab | tab을 space로 대체 |
:set hlsearch | 검색어 하이라이트 (반대 : no...) |
gcc 설치
sudo apt-get update
sudo apt-get install gcc
컴파일
gcc –o helloworld helloworld.c
실행
./helloworld
gcc 옵션
option | explain |
-c | object 파일 생성 |
-o | .out 파일의 이름 설정 |
-I (대문자 i) | 컴파일 시 사용하는 헤더 파일 위치 경로 알려줌 |
-l (소문자 L) | 링크 시 사용하는 라이브러리 설정 |
-L | 링크 시 사용하는 라이브러리 위치 |
-g | 디버깅 정보 |
-O | 최적화 옵션 |
정적 라이브러리
ar 옵션 라이브러리 파일
//'text.o'와 'text2.o' 병합하여 test.a 생성
ar -cr libtest.a text.o text2.o
option | content |
c | 라이브러리 생성 |
r | 라이브러리에 파일 추가 |
s | symbol index 생성 |
t | 라이브러리에 포함된 파일 출력 |
tv | 라이브러리에 포함된 파일 출력 (자세하게) |
d | 라이브러리에 포함된 파일 삭제 |
공유 라이브러리
//.o 파일 생성
gcc -fPIC -c text.c text2.c
//'text.o'와 'text2.o' 병합해서 'libtest.so' 생성
gcc -shared -o libtest.so text.o text2.o
//helloworld 실행파일 생성
gcc -o helloworld main.c -l test -L .
반응형
'CS > Linux' 카테고리의 다른 글
Process & Signal (0) | 2023.08.29 |
---|---|
디렉토리 관리 관련 함수 (0) | 2023.08.29 |
파일 관리 관련 함수 (0) | 2023.08.29 |
Func (File System & File Input/Output) (0) | 2023.08.29 |
리눅스 구조 & 명령어 (0) | 2023.08.27 |