2012-07-06 2 views
1

Safari에서 텍스트를 선택하고 "foo, bar"(따옴표 제외)와 같이 클립 보드에 복사한다고 가정합시다. 이제 Macrom에서 "* 레지스터에 :reg을 입력하여 사용할 수 있음을 알 수 있습니다. 이 레지스터의 내용을 바로 가기 또는 편집 -> 붙여 넣기를 사용하여 Vim 편집기에 복사 할 수 있습니다. 그러나 붙여 넣기 전에이 레지스터 (또는 해당 레지스터)의 내용을 어떻게 수정해야합니까? 예를 들어, ""을 검색하고 "."로 바꾸는 등 검색을 수행하고 루틴을 교체하는 방법은 이제 레지스터에 "foo. bar"가 포함될 수 있습니까?Macvim : 붙여 넣기 전에 클립 보드 레지스터의 내용을 수정하십시오.

미리 감사드립니다.

답변

2
:reg * 
original content 

let @*='altered content' 

:reg * 
altered content 

모든 명명 된 레지스터로이를 수행 할 수 있습니다.

귀하의 예를 처리 할 수 ​​있습니다

let @a=substitute(@*,',','.','g') 
"ap 

하지만 당신은 아마 실제로는 너무 복잡 아무것도하기 전에 몇 가지 백업을해야합니다

:reg a 
original content 

let a_orig = @a 

let @a='altered content' 
"ap 
altered content 

let @a=a_orig 

:reg a 
original content 
+0

감사합니다! 그것은 완벽하게 작동했습니다. – TriSSSe

+0

@romainl 감사합니다. 그러나'''^ J''를''''''''로 바꾸고 싶을 때 실패했습니다. 나는 줄 바꿈이''''''''''''''''''''''''을 추가하는 것이 아니기 때문에''': reg''를 실행할 때 레지스터에서 복사했을뿐 아니라 잘못된 결과를 얻었을 것이라고 생각했습니다. 줄 바꿈을 공백으로 바꿀 수 있습니까? – lerner

+1

@leoadams, Vim에서'^ J'는 실제로 하나의 문자입니다. ''을 입력하여 삽입 할 수 있습니다. – romainl

관련 문제