1. 행 일괄 삭제
:g/nbsp/d
2. BOM(Byte order mark) 제거
:set nobomb
3. 특정 encoding 로 열기 및 저장
:set fileencodings=utf-8,euc-kr
(1) euc-kr 열기
:e ++enc=euc-kr
(2) utf-8 열기
:e ++enc=utf-8
(3) euc-kr 저장
:set fileencoding=euc-kr
:w
(4) utf-8 저장
:set fileencoding=utf-8
:w
2018년 10월 10일 수요일
2017년 6월 20일 화요일
Vim 8.0 setup Linux mint 17.3
1. install
sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim
2. remove
sudo apt remove vim
sudo add-apt-repository --remove ppa:jonathonf/vim
sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim
2. remove
sudo apt remove vim
sudo add-apt-repository --remove ppa:jonathonf/vim
2016년 4월 1일 금요일
vim 치환: C/C++ 언어
vim 치환 기능으로 Coding Style 변경
(1) ( → (
:%s/([ \t]\+/(/g
(2) ) → )
:%s/[ \t]\+)/)/g
(3) class CLASSNAME : → class CLASSNAME:
:%s/class[ \t]\([a-zA-Z_]\+\)[ \t]*:[ \t]*/class \1: /g
(4) 2줄 이상 공백 라인 → 한줄 공백 라인
:%s/\n\n[\n]\+/\r\r/g
(5) , 정렬
:%s/[ \t]*,[ \t]*/, /g
(6) 문장 끝 공백제거
:%s/[ \t]\+\n/\r/g
(7) BSD type { → K&R type {
:%s/\n[ \t]\+{/ {/
(8) { 다음구문이 한줄에 연속해서 오는 경우 { 다음구문을 다음 라인으로
:%s/^\([ \t]\+\)\(.\+\){[ \t]*\([^'$]\)/\1\2{\r\1\t\3/g
(9) } 가 다음문장 끝에 있는 경우 } 를 다음 라인으로
:%s/^\t\([ \t]\+\)\(.\+\)[ \t]*}/\t\1\2\r\1}/g
(10) for 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)for[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1for (\2) {\r\3\r\1}/g
(11) while 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)while[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1while (\2) {\r\3\r\1}/g
(12) if 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)if[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1if (\2) {\r\3\r\1}/g
(13) else if 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)else[ \t]\+if[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1else if (\2) {\r\3\r\1}/g
(14) else 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)else[ \t]*\n\([^{};\n]\+;\)/\1else {\r\2\r\1}/g
(15) } \n else → } else
:%s/}[ \t]*\n[ \t]*else/} else/g
※ 원하는 대로 변경을 원하면 indent command 로 변경
(1) ( → (
:%s/([ \t]\+/(/g
(2) ) → )
:%s/[ \t]\+)/)/g
(3) class CLASSNAME : → class CLASSNAME:
:%s/class[ \t]\([a-zA-Z_]\+\)[ \t]*:[ \t]*/class \1: /g
(4) 2줄 이상 공백 라인 → 한줄 공백 라인
:%s/\n\n[\n]\+/\r\r/g
(5) , 정렬
:%s/[ \t]*,[ \t]*/, /g
(6) 문장 끝 공백제거
:%s/[ \t]\+\n/\r/g
(7) BSD type { → K&R type {
:%s/\n[ \t]\+{/ {/
(8) { 다음구문이 한줄에 연속해서 오는 경우 { 다음구문을 다음 라인으로
:%s/^\([ \t]\+\)\(.\+\){[ \t]*\([^'$]\)/\1\2{\r\1\t\3/g
(9) } 가 다음문장 끝에 있는 경우 } 를 다음 라인으로
:%s/^\t\([ \t]\+\)\(.\+\)[ \t]*}/\t\1\2\r\1}/g
(10) for 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)for[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1for (\2) {\r\3\r\1}/g
(11) while 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)while[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1while (\2) {\r\3\r\1}/g
:%s/^\([ \t]*\)if[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1if (\2) {\r\3\r\1}/g
(13) else if 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)else[ \t]\+if[ \t]*(\(.\+\))[ \t]*\n\([^{};\n]\+;\)/\1else if (\2) {\r\3\r\1}/g
(14) else 구문 정렬 (한줄 아닐 경우)
:%s/^\([ \t]*\)else[ \t]*\n\([^{};\n]\+;\)/\1else {\r\2\r\1}/g
(15) } \n else → } else
:%s/}[ \t]*\n[ \t]*else/} else/g
※ 원하는 대로 변경을 원하면 indent command 로 변경
피드 구독하기:
글 (Atom)