# 범위 삭제
:g/first pattern/,/end pattern/d
# 한 줄의 빈 줄만 제거
:%s/\n^\n/\r/g
# 세 줄 이상의 빈 줄을 한 줄로 합침
:%s/\n\{3,}/\r\r/g
# 공백 문자로 끝나는 행 공백문자만 삭제
:%s/\s\+$//g
# pattern이 있는 모든 행의 pattern1를 pattern2로 교체
:g/pattern/s/pattern1/pattern2/g
# 여는 따옴표앞 개행문자추가, 마지막행 닫는 따옴표뒤 개행문자 추가
:%s/\([\.!?]\)\n\([“"‘']\)/\1\r\r\2/g
:%s/\([\.!?]\)\([”"’']\)\n\([^“"‘']\)/\1\2\r\r\3/g
# 텍스트파일 문단 중간에 개행문자로 끊긴거 합치기
map <F11> :%s/\."\n/○/g<cr>:%s/?"\n/●/g<cr>:%s/!"\n/◎/g<cr>:%s/\.\n/◇/g<cr>:%s/?\n/◆/g<cr>:%s/!\n/□/g<cr>:%s/-\n/■/g<cr>
map <F12> :%s/\n//g<cr>:%s/○/\."\r\r/g<cr>:%s/●/?"\r\r/g<cr>:%s/◎/!"\r\r/g<cr>:%s/◇/\.\r\r/g<cr>:%s/◆/?\r\r/g<cr>:%s/□/!\r\r/g<cr>:%s/■/-\r\r/g<cr>
.vimrc파일에서 F11, F12에 치환명령 세트 할당.F11은 ?!.뒤 \n를 각각 다른 특수문자로 치환하고 ?!.뒤 "\n 또한 또 다른 특수문자로 치환.(일종의 마스킹 과정)
F12은 먼저 모든 개행문자를 삭제하고 F11로 치환한 특수문자를 치환전 문자로 복구.
# <feff> 유니코드문자 입력
^vufeff (^v는 ctl+v or ctl+q)
터미널에서 cat이나 type으로 여러문서를 합칠때 utf-8 bom문서는 각 문서 선두에 bom코드까지 카피되는데 이를 제거하기 위한 입력.
# ^M 문자삭제하기
:%s/^v^m//g (^v는 ctl+v, ^m은 ctl+m)
# 파일의 인코딩 지정해서 다시 불러오기
:e ++enc=인코딩
# 챕터제목이나 소재목등이 중복되어 있을 때 하나로 합치기
:%s/\([a-zA-Z0-9가-힣].*\)\n\n\1/\1/g위의 예는 한줄 간격으로 챕터제목이 두번 들어간 경우
# 연속 중복된 단어 찾기
\([가-힣]\+\s\)\1
# 이동
nG n번째 라인으로 이동
:n n번째 라인으로 이동# 검색
* 현재 커서가 위치한 단어의 다음 위치를 검색한다.
# 현재 커서가 위치한 단어의 이전 위치를 검색한다.
. 마지막 명령어를 다시 수행한다.# 매크로 기능
q + a :a키에 매크로 기록 시작
:반복을 원하는 작업
q :매크로 기록 종료@a :1회 실행
@@ :방금 실행한 매크로 실행
10@a :매크로 10회 실행