2010-12-21 6 views
2

텍스트 줄을 읽는다고 가정 해보자.어떻게 vim에서 함수 호출을 꺼낼 수 있습니까?

 
$x = (frobnicate(foo(bar($x, $y)[ 1 ]))[ 1 ]); 

커서가 'frobnicate'의 'f'에 있고 frobnicate 호출이 포함 된 텍스트를 잡아 내고 싶습니다. (즉, 모든 3 번째 닫는 괄호까지. 나는 확실히 할 수 있습니다 :

 
y3f) 

또는 대화 형으로

 
vf);;y 

하지만 둘 다 매력적입니다. '3'을 수동으로 계산해야하고 끝 지점에 도달 할 때까지 반복 찾기를 수행하지 않아야합니다.) 'f'에서 일치하는 닫는 괄호로 이동하는 쉬운 방법이 있습니까? 'v_i' 내부 단어 '동작 명령.

답변

9

y%이 작동하는 것 같습니다.

help %에서 :

후 또는 커서가이 라인의 다음 항목을 찾아 그 일치로 이동합니다. 포괄적 인 모션. 항목 될 수 있습니다 ([{}]) 괄호 또는 (곱슬/사각형) 당신은 여는 괄호에 커서를 위치를 yel%을 시도하고 %와 닫는 하나에 점프 할 수

+0

나는 마침내 이해 일치하는 버팀대! 나는 항상 %로 짜증이났다. 그리고 왼쪽으로 움직여 일치하는 중괄호를 찾으려고했다. 나는 종종 중괄호 안에 커서를 놓고 끝으로 이동하고 싶지만, 이것은 분명히 더 좋은 행동이다. –

+0

@William Pursell : 여는 중괄호 나 괄호를 찾으려면'[{'또는'[('를 사용하십시오. –

+2

@William Pursell :이 경우에는 yi (또는 ya (, 각각 "괄호 안쪽에 홱 잡아 당기다"와 "괄호를 홱 잡아 당기다"를 의미합니다.) 물론 va {, di [, ca (유효합니다 ...) : help object-select –

0

을 괄호하지만 훨씬 더 보이지 않는다 현재 솔루션보다 효율적입니다.

유일한 장점은 아무 것도 세지 않아도되며 중첩 된 호출로 작동한다는 것입니다.

편집 : , 베드로 y% 작품을 지적하고 우수한 솔루션을 그대로 (. 작동 왜 아주 이해하지 않는 경우에도 빔은 굉장하다!) %가 오른쪽으로 보이는 이유

+1

OTOH가 왜 작동하는지에 대한 명확한 설명이 있습니다. 커서는 처음에는'([{})) '중 하나로 오른쪽으로 이동 한 후 나머지 반쪽으로 이동합니다 . –

관련 문제