vim # vim으로 열기 :help # (존재하는 경우에) 에 대한, 내장된 도움말 문서 열기 :q # vim 종료 :w # 현재 파일 저장 :wq # 파일 저장 후 종료 ZZ # 파일 저장 후 종료 :q! # 저장하지 않고 종료 # ! *강제로* :q를 실행하여, 저장 없이 종료 :x # 파일 저장 후 종료 (:wq의 축약) u # 동작 취소 CTRL+R # 되돌리기 h # 한 글자 왼쪽으로 이동 j # 한 줄 아래로 이동 k # 한 줄 위로 이동 l # 한 글자 오른쪽으로 이동 # 줄 안에서의 이동 0 # 줄 시작으로 이동 $ # 줄 끝으로 이동 ^ # 줄의 공백이 아닌 첫 문자로 이동 Ctrl+B # 한 화면 뒤로 이동 Ctrl+F # 한 화면 앞으로 이동 Ctrl+D # 반 화면 앞으로 이동 Ctrl+U # 반 화면 뒤로 이동 # 텍스트 검색 /word # 커서 뒤에 나타나는 해당 단어를 모두 하이라이트 ?word # 커서 앞에 나타나는 해당 단어를 모두 하이라이트 n # 해당 단어를 검색 후 다음으로 나타나는 위치로 이동 N # 이전에 나타나는 위치로 이동 :%s/foo/bar/g # 파일 모든 줄에 있는 'foo'를 'bar'로 치환 :s/foo/bar/g # 현재 줄에 있는 'foo'를 'bar'로 치환 :%s/foo/bar/gc # 사용자에게 확인을 요구하는, 모든 줄에 있는 'foo'를 'bar'로 치환 :%s/\n/\r/g # 한 종류의 개행 문자에서 다른 종류의 것으로 치환 (\n에서 \r로) # 문자로 이동 f # 로 건너뛰기 t # 의 바로 뒤로 건너뛰기 # 예를 들어, f< # <로 건너뛰기 t< # <의 바로 뒤로 건너뛰기 # 단어 단위로 이동 w # 한 단어 오른쪽으로 이동 b # 한 단어 왼쪽으로 이동 e # 현재 단어의 끝으로 이동 # 기타 이동 명령어 gg # 파일 맨 위로 이동 G # 파일 맨 아래로 이동 :NUM # 줄 수 NUM(숫자)로 가기 H # 화면 꼭대기로 이동 M # 화면 중간으로 이동 L # 화면 바닥으로 이동 i # 커서 위치 앞에서 삽입 모드로 변경 a # 커서 위치 뒤에서 삽입 모드로 변경 v # 비주얼 모드로 변경 : # 실행 모드로 변경 # 현재 모드를 벗어나 명령어 모드로 변경 # 복사와 붙여넣기 y # 선택한 객체 복사(Yank) yy # 현재 줄 복사 d # 선택한 객체 삭제 dd # 현재 줄 삭제 p # 커서 위치 뒤에 복사한 텍스트 붙여넣기 P # 커서 위치 앞에 복사한 텍스트 붙여넣기 x # 현재 커서 위치의 문자 삭제 # '서술어' d # 지운다 c # 바꾼다 y # 복사한다 v # 선택한다 # '수식어' i # 안에 a # 근처에 NUM # (숫자) f # 찾아서 그곳에 t # 찾아서 그 앞에 / # 문자열을 커서 뒤로 찾아서 ? # 문자열을 커서 앞으로 찾아서 # '목적어' w # 단어를 s # 문장을 p # 문단을 b # 블록을 # 예시 '문장' (명령어) d2w # 단어 2개를 지운다 cis # 문장 안을 바꾼다 yip # 문단 안을 복사한다 ct< # 여는 괄호까지 바꾼다 # 현재 위치에서 다음 여는 괄호까지의 텍스트를 바꾼다 d$ # 줄 끝까지 지운다 > # 선택한 영역 한 칸 들여쓰기 < # 선택한 영역 한 칸 내어쓰기 :earlier 15m # 15분 전의 상태로 되돌리기 :later 15m # 위의 명령어를 취소 ddp # 이어지는 줄과 위치 맞바꾸기 (dd 후 p) . # 이전 동작 반복 :w !sudo tee % # 현재 파일을 루트 권한으로 저장 :set syntax=c # 문법 강조를 'C'의 것으로 설정 :sort # 모든 줄을 정렬 :sort! # 모든 줄을 역순으로 정렬 :sort u # 모든 줄을 정렬하고, 중복되는 것을 삭제 ~ # 선택된 텍스트의 대/소문자 토글 u # 선택된 텍스트를 소문자로 바꾸기 U # 선택된 텍스트를 대문자로 바꾸기 # 텍스트 폴딩 zf # 선택된 텍스트 위치에서 폴딩 만들기 zo # 현재 폴딩 펴기 zc # 현재 폴딩 접기 zR # 모든 폴딩 펴기 zM # 모든 폴딩 접기 zi # 폴딩 접기/펴기 토글 zd # 접은 폴딩 삭제 qa # 'a'라는 이름의 매크로 녹화 시작 q # 녹화 중지 @a # 매크로 실행 " ~/.vimrc 예시 " 2015.10 " vim이 iMprove 되려면 필요 set nocompatible " 자동 들여쓰기 등을 위해 파일 명으로부터 타입 결정 filetype indent plugin on " 신택스 하이라이팅 켜기 syntax on " 커맨드 라인 완성 향상 set wildmenu " 대문자를 썼을 때가 아니면 대소문자 구분하지 않고 검색 set ignorecase set smartcase " 줄넘김을 했을 때 파일에 따른 들여쓰기가 켜져 있지 않다면 " 현재 줄과 같은 들여쓰기를 유지 set autoindent " 좌측에 줄 번호 표시 set number " 들여쓰기 설정 (개인 기호에 따라 변경) " 탭 하나와 시각적으로 같을 스페이스 개수 set tabstop=4 " 편집할 때 탭 하나에 들어갈 스페이스 수 set softtabstop=4 " 들여쓰기 혹은 내어쓰기 작업(>>, <<)을 했을 때 움직일 스페이스 개수 set shiftwidth=4 " 탭을 스페이스로 변환 set expandtab " 들여쓰기와 정렬에 자동 탭 및 스페이스 사용 set smarttab