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 i
ndent i
및 round ndent(다른 것 중에서) ai
와 같은 '들여쓰기 개체'를 제공합니다 . 그러면 다음과 같은 작업을 수행할 수 있습니다 .a
i
zfii