vim이란 터미널에서 실행하는 텍스트 에디터
vim main.c
vim을 실행했을 때의 경로 + 파일 이름(main)에 c코드 저장된다.
i : 입력모드로 전환 (하단에 INSERT 라고 뜸)
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
/*
return 0; = 프로그램이 끝날 때 0이라는 종료 상태코드 값을 운영체제에게 돌려준다는 의미
*/
esc : 입력모드 종료 후 명령모드로 복귀
저장 관련 명령어
| 상황 | 명령 |
|---|---|
| 내용 수정했고 저장하고 나가고 싶다 | :wq |
| 아무 수정 안 했고 그냥 나가고 싶다 | :q |
| 실수로 수정했는데 저장하고 싶지 않다 | :q! |
gcc main.c -o main (gcc -o main main.c로 순서 바꿔도 된다.)
gcc 컴파일러로 컴파일+링크 해야 c코드 실행가능하다.
컴파일(Compile) — .c → .o
링크(Link) — .o + 라이브러리 → 실행 파일
링크 : 조각난 기계어(.o) 파일들을 한 개로 연결(link)하는 작업
a.out으로 만든다../main : 프로그램 실행하기
echo $? : 종료코드 확인
:e + 파일명 : vim 내에서 파일 간 이동
명령모드
ctrl + f : 다음 화면 라인으로 이동
ctrl + b : 이전 화면 라인으로 이동
shift + j : 밑에 있던 라인을 한 단계 위로 올림
shift + d : 커서 뒤로 라인 전체 삭제
shift + 8 (*) : 커서 위치한 문자랑 같은 문자열을 찾아 블록 처리
shift + 8 + n 을 눌러 아래로 이동shift + 8 + shift + n 을 눌러 위로 이동:noh : 하이라이트 해제/ : 라인모드
/ + 찾을문자열 : shift+8과 같은 기능
shift + $ : 현재 라인의 끝으로 이동
shift + ^ : 현재 라인의 시작으로 이동
shitf + v : 여러 줄 선택
y : 복사
p : 붙여넣기
d : 삭제
yy : 한 줄만 복사
p : 붙여넣기
dd : 한 줄 삭제
u : 되돌리기
ctrl + r : 재실행
x : 한 글자씩 삭제
숫자 + x : 숫자만큼 삭제
:숫자 : 이동하고자 하는 라인으로 이동
:1 : 제일 첫 라인으로 이동:$ : 제일 마지막 라인으로 이동:set nonumber : 라인 번호 숨김
:set number : 라인 번호 표시
복사 -> i (입력모드) -> shift + insert
:set paste + i (INSERT(paste)) + shift insert : 복사했던 모양 그대로 붙여넣기. set nopaste로 해제:%s/찾을문자열/바꿀문자열 : 찾을문자열 전체를 -> 바꿀문자열로 한번에 바꾼다.
:r 불러오려는파일명.확장자 : 파일 불러와서 붙여넣기
:wq : write + quit 저장하고 나가기
q! : 저장안하고 나가기
:!리눅스명령어 : vim안에서 셸 명령어 사용가능
입력모드
a : 커서 한 칸 뒤에서부터 입력
shift + a : 라인의 끝으로 이동해서 입력
o : 커서 아래에 새로운 줄을 만들고, 그 줄에서 입력
cw : 커서 뒤로 스페이스 전까지의 단어 지우고 입력