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