#와 *를 써보셨나요.
커서를 식별자 위에 두고 #이나 *을 눌러보세요. 번갈아서도 눌러보세요. 같은 식별자를 찾아줍니다.(그냥 텍스트 매치가 아니라, C에서 식별자로 인정되는 단어만 찾아줍니다.)
그래서 리팩토링을 위해 변수명을 바꾸는 예제입니다.
gamza를 kamja로 바꾸는 예제입니다.
라고 할수 있는거지요
%는 현재 보고있는 파일 전체를 대상으로
s는 substitute 대체한다는 뜻이지요
마지막에 g는 한 줄에서 두번 이상 바꾸겠다는 뜻(모르면 그냥 무조건달아요)
/는 그냥 구분자라고 생각하세요.
하지만 저렇게 하면 문제점이, gamzabaw라는 변수까지도 kamjabaw로 바꾸어버립니다.
그렇다면 이렇게 하는게 좋습니다.
이렇게 한다면 gamzabaw를 kamjabaw로 바꾸는 붕우유신같은 일은 하지 않을 것입니다.
무조건 C에서 인정하는 '식별자' 단위로 정확히 gamza라는 변수나 함수이름만 바꾸어줍니다.
한가지 더 팁이 있다면
v또는 Shift+V를 통해서 영역을 설정한 다음에
: (즉, shift + ;)
을 누른 후
s/\<gamja\>/kamja/g
라고 입력하면 영역 내에서만 치환을 합니다. 아까처럼 %를 쓸필요가 없습니다 제가 바로 위에 표시하진 않았지만 저상황에서 : 누르는 순간 범위연산자가 입력됩니다. 직접 뿌띠리리를 지금 켜서 확인해보세요.
치환은 예전부터 알았지만, 식별자별로 하는건 도저히 못찾겠더군요. 우연히알게되어 공유합니다.
커서를 식별자 위에 두고 #이나 *을 눌러보세요. 번갈아서도 눌러보세요. 같은 식별자를 찾아줍니다.(그냥 텍스트 매치가 아니라, C에서 식별자로 인정되는 단어만 찾아줍니다.)
그래서 리팩토링을 위해 변수명을 바꾸는 예제입니다.
gamza를 kamja로 바꾸는 예제입니다.
%s/gamza/kamja/g
라고 할수 있는거지요
%는 현재 보고있는 파일 전체를 대상으로
s는 substitute 대체한다는 뜻이지요
마지막에 g는 한 줄에서 두번 이상 바꾸겠다는 뜻(모르면 그냥 무조건달아요)
/는 그냥 구분자라고 생각하세요.
하지만 저렇게 하면 문제점이, gamzabaw라는 변수까지도 kamjabaw로 바꾸어버립니다.
그렇다면 이렇게 하는게 좋습니다.
%s/\<gamza\>/kamja/g
이렇게 한다면 gamzabaw를 kamjabaw로 바꾸는 붕우유신같은 일은 하지 않을 것입니다.
무조건 C에서 인정하는 '식별자' 단위로 정확히 gamza라는 변수나 함수이름만 바꾸어줍니다.
한가지 더 팁이 있다면
v또는 Shift+V를 통해서 영역을 설정한 다음에
: (즉, shift + ;)
을 누른 후
s/\<gamja\>/kamja/g
라고 입력하면 영역 내에서만 치환을 합니다. 아까처럼 %를 쓸필요가 없습니다 제가 바로 위에 표시하진 않았지만 저상황에서 : 누르는 순간 범위연산자가 입력됩니다. 직접 뿌띠리리를 지금 켜서 확인해보세요.
치환은 예전부터 알았지만, 식별자별로 하는건 도저히 못찾겠더군요. 우연히알게되어 공유합니다.