2014-10-16 2 views
1

필자는 확장해야하는 수동 인코딩/디코딩을 수행하는 코드가 있습니다. 내가 주변에 '='텍스트의 부품을 교환 할 필요가vim을 사용하여 여러 줄의 다양한 단어를 교환하십시오.

map["some_key"] = some_struct.member; 
map["some_other_key"] = some_other_struct.member; 

디코딩하려면 다음과 같이 인코딩 본다 (예를 some_struct.member =지도가 [ "some_key"].). 말할 필요도없이 많은 라인을 편집해야하므로 어떻게 든이 작업을 자동화하려고했습니다. 저는 Vim을 사용하고 있습니다 만, 가장 좋은 점은 "_____"에 "] 부분을 덧붙여서 '='정렬을 한 다음 Ctrl + V를 누른 다음 d ...를하는 것입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

1

매크로 사용하여 행을 편집 할

" start macro, saving in q register 
qq 
" (edit one line to do what you want) 
" end recording 
q 
" visually select other lines, hit :, vim starts command line with '<,'> 
:'<,'>norm @q 

내 Q 레지스터 :

^"xd/ = 
xxx$i = jk"xp 

나는 JK esc 키를 매핑 한, 당신은 아마 다른 뭔가가 필요합니다.

+2

Vimgolf :'%의 규범 2Wdt^VEP를, p'를. '%'범위를 필요에 따라 시각적으로 바꾸십시오. –

+2

Vimgolf :': % norm $ dB^vEp $ P';) – Caek

0

는 나도 기록 여부, 매크로와 함께 할 것입니다 :

:%norm! di"t;vBpF"P 
:%norm! $dBF"vi"p$P 
관련 문제