2011-11-23 3 views
7

최근에 나는 y을 대답하고 p 코드를 변경해야합니다 (대개 단순한 대체). 나는 그것을 붙여 넣은 후 수동으로 선택할 수 있습니다. 또는 더 긴 블록에 대해 붙여 넣은 줄 수 (20 new lines)를보고 20:s...을 사용한다고 가정합니다. 그러나 vim이라면 더 쉽고 빠른 방법이 있어야합니다. 이 작업을 수행.Vim은 입력 한대로 또는 바로 뒤에 텍스트를 바꿉니다.

그렇다면 텍스트를 대체하거나 선택하는 방법은 p ut일까요? 즉시 p의 실행 상기와 [] 마크가 붙여진 영역의 시작 및 종료 라인 수를 참조 후

답변

8

(도 y 동안 적용). 자세한 내용은 '[']에 대한 도움말을 참조하십시오.

따라서 이러한 표시를 사용하여 :s을 사용할 범위를 :'[,']s///으로 지정할 수 있습니다. 이렇게하면 그냥 잡아 당겨 지거나 붙여 넣은 지역에서 작동합니다. 물론, 짧지는 않지만, 관심이 있다면 맵핑 할 수 있습니다. 아마도 nnoremap <Leader>p p:'[,']s/과 같은 것일 수 있습니다.

+1

완벽한, 감사합니다. vim이 할 수있는 모든 것을 상상할 수있는 또 다른 예입니다. – Kevin

3

Chris Morgan은 이미 최상의 솔루션을 게시했습니다. 그러나 레지스터의 텍스트를 직접 조작 할 수도 있습니다. 그런 다음 변경된 레지스터 텍스트를 붙여

:let @" = substitute(@",'someword', 'somedifferentword','g') 

: 당신이 뭔가를 할 수 십중팔구의 기본 레지스터는, "입니다. 레지스터의 텍스트가 하나의 시작 패턴 (^)과 한 끝 ($)을 가진 단일 문자열이기 때문에 여러 줄 등록 텍스트에서 줄 컨텍스트와 관련된 조작이 쉽지 않습니다. 그러나 여전히 유용 할 수 있습니다.

내가 가끔씩 생각한 것처럼, 나는 거기에 버릴 것이라고 생각했다.

+0

감사합니다. 감사합니다. – Kevin

관련 문제