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

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

vim에서 수동 접기를 사용하여 현재 줄(커서가 있는 줄)과 동일한 들여쓰기로 모든 줄을 어떻게 접을 수 있나요?

기본적으로 Vim이 할 때처럼 작업을 접기 위해 Vim이 필요한 경우도 있지만 foldmethod=indent저는 Vim으로 작업하는 것을 선호 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해당 명령에서 s를 생략하고 그냥 사용할 수 있습니다 :-,+norm zF).

플러그인 설치에 열려 있는 경우 다음이 있습니다. vim-들여쓰기-객체ii이는 nside indent i및 round ndent(다른 것 중에서) ai와 같은 '들여쓰기 개체'를 제공합니다 . 그러면 다음과 같은 작업을 수행할 수 있습니다 .aizfii

관련 정보