2010-06-16 3 views
5

html 엔티티의 특수 문자를 대체하는 매크로가 있습니다. .vimrc에 저장하고 싶습니다.여러 검색으로 이루어진 매크로를 저장하고 .vimrc로 바꾸려면 어떻게해야합니까?

this에 따르면 let @ r = 'macro_text_goes_here'을 사용해야합니다. 내 매크로,이 같은 검색의 연속이고 교체하는 것이 문제이다 : 그래서

:%s:á:\á:Ige 
:%s:é:\é:Ige 
:%s:í:\í:Ige 

, 나는 < 실제 줄 바꿈을 사용하여 >, <CR>를 입력, V는 입력 ^로했지만, 한 결코 작동하지 않습니다. 다른 측면에서, 나는 텍스트를 레지스터에 놓은 다음 매크로를 실행하면 예상대로 작동합니다. 이 나를 위해^M은 특수 문자

let @a=':%s/á/\&aacute;/g^M:%s/é/\&eacute;/g^M:%s/í/\&iacute;/g^M' 

메모를 작품의 .vimrc에 추가

답변

10

Ctrl 키 + V, Ctrl 키 + M를 사용하여 입력 한. 나는 해결책을 발견 좋아

+0

네 말이 맞아, 나는^M 사이에 공백이 있었고, 그것이 나를 위해 실패한 이유 다. – Doppelganger

+0

vimrc 내부에 바이너리 데이터를 갖고 싶지 않으면 큰 따옴표와'\ '을 사용할 수 있습니다. – ZyX

+0

@smi +1 Ctrl + V를 이용해 주셔서 감사합니다. 그것은 나를 도왔다 ^^ – whitesiroi

1

는, 내가 전에 ^M으로 시도했다, 그러나 그것은 작동하지 않았다 일부 후행 공백을 가진 질문에 예를 들어 올바른 구문은 다음과 같습니다

let @r=':%s:á:\&aacute;:Ige^M:%s:é:\&eacute;:Ige^M:%s:í:\&iacute;:Ige^M' 

돈 마지막^M을 잊어 버리지 말고, .vimrc를 다시로드하기 위해서는 vim을 다시 시작해야합니다.

관련 문제