vim pattern replace 문의 드립니다.
글쓴이: bluecafe / 작성시간: 수, 2007/08/08 - 4:26오후
안녕하세요.
Vim Pattern Replace 관련해서 고수님들의 한수가르침을 얻고자 이렇게 글을 씁니다.
제가 하고 싶은 일에 대해서 설명을 드리면,
DEBUG( level, ("%d, %x\n", aaa, bbb));
DEBUG( level,
("%d, %x\n",
aaa,
bbb
));위의 예와 같이 argument 부분이 괄호로 묶여 있는 코드를 아래와 같이 괄호를 제거하고 싶습니다.
DEBUG( level, "%d, %x\n", aaa, bbb);
DEBUG( level,
"%d, %x\n",
aaa,
bbb
);DEBUG 함수는 한줄로 구성이 될 수도 있고 여러줄에 걸처서 작성될 수도 있습니다.
정규표현식 실력이 일천하여 vim script (표현이 맞는지 모르겠습니다) 를 이용해서 해결을 하려고 하는데 그마저도 쉽지가 않네요.
아래에 제가 작성한 vim script(?) 를 올려 두었습니다.
한수 가르침 부탁 드립니다.
감사합니다.
function! ReformDebugMsgComma()
call search('DEBUG', 'eW')
call search('(')
let s:start_line = getpos(".")
let s:end_line = searchpair('(','',')', 's')
call setpos(".", s:start_line)
if 0 == search(',', 'eW', s:end_line)
return
endif
let s:a = search('(\|\(\"\)', 'cpeW', s:end_line)
if s:a == 1
call searchpair('(','',')','s')
let s:save_cursor = getpos(".")
substitute/)//
call setpos(".",s:save_cursor)
substitute/(//
endif
endfunctionForums:


indent 를 사용해서
indent 를 사용해서 본인이 익숙한 형식으로 일단 정규화부터하면 패턴을 좀 더 명확히 규정하실 수 있을 것 같습니다.
OTL
댓글 달기