application:vim:tip
VIM 고급 활용팁
메모장 내용 VI로 파일에 붙여넣기
VI로 파일을 연다.
복사할 내용을 메모장이나 파일에서 복사한다.(
<ctrl>+<c>)
아래는 복사할 내용이다.
SELECT MB.MCode, MB.MName, COUNT(DISTINCT ItemCode)
FROM TB_Member MB, TB_StudyPlan SP
WHERE MB.TCode = ? AND MB.ACode = ? AND SP.MCode = MB.MCode
AND MB.MCode > 0 AND MB.IsActive = 1
AND SP.StudyPlanYMD Between ? AND ? ;
VI에서 명령모드로 가기 위해서 <ESC>를 누른다.
<i> 키를 눌러 입력모드에서, 마우스 오른쪽 버튼을 눌러 붙여넣기를 한다.
아래처럼 한줄씩 밀린다면 어떻게 할까?
SELECT MB.MCode, MB.MName, COUNT(DISTINCT ItemCode)
FROM TB_Member MB, TB_StudyPlan SP
WHERE MB.TCode = ? AND MB.ACode = ? AND SP.MCode = MB.MCode
AND MB.MCode > 0 AND MB.IsActive = 1
AND SP.StudyPlanYMD Between ? AND ? ;
:set paste 명령을 통해 밀리지 않고 다시 붙여넣기를 한다.
:set paste
그럼 아래처럼 깔끔하게 붙여넣기를 할 수 있다.
SELECT MB.MCode, MB.MName, COUNT(DISTINCT ItemCode)
FROM TB_Member MB, TB_StudyPlan SP
WHERE MB.TCode = ? AND MB.ACode = ? AND SP.MCode = MB.MCode
AND MB.MCode > 0 AND MB.IsActive = 1
AND SP.StudyPlanYMD Between ? AND ? ;
VI 치환공식
VI에서 치환문법은 다음와 같다.
:s/{변환전문자}/{변환된문자}/
aaa를 bbb로 치환해보자.
:s/aaa/bbb/
한줄에 치환해야 하는 문자가 여러개 있다면 뒤에
g 옵션을 준다.
:s/{변환전문자}/{변환된문자}/g
해당라인의 모든 ccc를 ddd로 치환해보자.
:s/ccc/ddd/g
선택한 블록에 맨 앞에 글자 추가하기
<shift>+<v>를 통하여 블록을 선택한다.
<shift>+<:>를 누른다. 그럼 화면 하단에 아래처럼 보인다.
:'<,'>_
위 상태에서 맨앞을 의미하는 <^>와 이를 치환할 문자(
.append(“를 바꿀 명령을 수행한다.
'<,'>s/^/.append(" /
만약탭을 넣고 싶다면 탭을 의미하는
<\t> 문자를 넣는다.
'<,'>s/^/\t\t\t.append(" /
선택한 블록에 맨 뒤에 글자 추가하기
<shift>+<v>를 통하여 블록을 선택한다.
<shift>+<:>를 누른다. 그럼 화면 하단에 아래처럼 보인다.
:'<,'>_
위 상태에서 맨앞을 의미하는 <$>와 이를 치환할 문자(
”)를 바꿀 명령을 수행한다.
'<,'>s/$/")/
필요없는 문자 제거하기
파일 안에 아래의 내용 중에서 SQL만 추출하고 싶을 경우를 생각해 보자.
StringBuffer SQL = new StringBuffer()
.append(" SELECT /* study/dao/readNoStudyMemberList */ MB.MCODE AS MCODE, MB.MNAME AS MNAME ")
.append(" FROM TB_MEMBER MB LEFT JOIN TB_STUDYPLAN ST ")
.append(" ON MB.MCODE = ST.MCODE AND ST.STUDYPLANYMD >= TO_CHAR(SYSDATE, 'YYYY-MM-DD') ")
.append(" WHERE MB.TCODE = ? AND MB.ACODE = ? AND MB.ISACTIVE = 1 AND ST.MCODE IS NULL ");
블록(<ctrl>+<v>)으로 .append(“ 까지 선택하고 아래로 내린다.
<d> 키를 눌러 선택된 모든 .append(“ 값을 제거한다.
다시 블록(<shift>+<v>)으로 SQL구문을 지정한다.
”) 단어를 공백으로 변환시킨다.
'<,'>s/")//g
application/vim/tip.txt · 마지막으로 수정됨: 2008/01/30 01:49 저자 starlits