Vim: 들여쓰기된 블록을 수동으로 접는 방법은 무엇입니까?

Vim: 들여쓰기된 블록을 수동으로 접는 방법은 무엇입니까?

vim에서 수동 접기를 사용하여 현재 줄(커서가 있는 줄)과 동일한 들여쓰기로 각 줄을 축소하려면 어떻게 해야 합니까?

기본적으로 Vim을 사용할 때 Vim이 하는 것처럼 항목을 접으려면 Vim이 필요한 경우가 있습니다 . 하지만 저는 Vim을 사용 하고 변경하지 않는 것을 foldmethod=indent선호합니다 .foldmethod=manual

예를 들어:

function f(x)

  while (x > a)
    foo = bar
    someStuff() // suppose cursor is here
    x = foo + a
  end

  if (x < b)
    x = b // this line should not be indented
  end
end

이 경우 행을 foo = bar로 축소해야 합니다 x = foo + a.

답변1

:-1,+1norm zF축소할 행의 상대적 범위를 지정하는 데 사용할 수 있습니다 . (위 1줄, 아래 1줄의 경우 1명령어에서 s를 생략하고 그냥 사용하셔도 됩니다 :-,+norm zF.)

플러그인을 설치하려는 경우 다음이 있습니다. vim 들여쓰기 객체iinside ndent 및 round ndent i( i등 ) 과 같은 "들여쓰기 개체"를 제공합니다 ai. 그러면 그런 일을 할 수 있습니다.aizfii

관련 정보