Vim 접기에 대한 혼란-비활성화하는 방법?


116
  1. : 나는 그것을 다음과 같습니다 파일을 열 때 여기에 이미지 설명 입력 조차 또는 여기에 이미지 설명 입력
  2. 모든 폴드를 열면 다른 버퍼로 이동하여 다시 돌아 왔을 때 다시 닫힙니다.
  3. 작업 할 수 있으려면 zR버퍼를 열 때마다 적용해야합니다 .

나는 이것들을 설정했다 .vimrc:

set foldlevelstart=99
set foldlevel=99

접기를 비활성화하는 방법 또는 최소한 열린 버퍼를 닫지 않도록 다른 버퍼로 이동하는 방법을 알려주십시오.


2
처음 vim을 시작할 때 실행 :set foldlevel하고 :set foldlevelstart설정되어 있는지 확인하십시오. 내 초기 추측은 이러한 값이 어딘가에서 재설정되고 있다는 것입니다. 이 값을 내 vimrc에 추가하면 모든 것이 예상대로 작동합니다.
cledoux

답변:


209

당신은 혼자가 아닙니다.

set nofoldenable    " disable folding

7
이것은 vimdiff에 영향을 미치지 않습니다. vim이 diff 창을 만들 때 foldenable옵션 을 무시하는 것 같습니다 . 내가 찾은 유일한 해결 방법은의 context하위 옵션을 diffopt정말 큰 것으로 설정하는 것입니다. 예 :set diffopt+=context:99999
Laurence Gonsalves 2014 년

14
그것은 vim-markdown 이었습니다. vim-markdown에 의한 접기를 비활성화하려면let g:vim_markdown_folding_disabled=1
BenjaminGolder

1

2
아래의 glts 솔루션이 더 좋습니다. 'zi'를 사용하여 foldenable을 토글합니다. vim의 몇 안되는 큰 문제 중 하나는 기억해야 할 것들이 많다는 것입니다. 'foldenable'대신 'zi'와 같은 작은 것들이 신이 보낸 것입니다!
Thierry

1
나던 날 위해 일하는 것 같다 :( 파이썬 코드는 여전히 접혀.
WEIMA

55

즉석에서 접기를 비활성화 (및 활성화)하는 가장 쉬운 방법은 zi.

zi토글하는 일반 모드 명령입니다 'foldenable'단지 등 :set foldenable!.

니모닉 : "fold i nvert". 을 참조하십시오 :h zi.


44

set nofoldenable~ / .vimrc에 추가 하여 접기를 비활성화하십시오.


@Magnus : vimdiff동일한 행을 많이 표시하지 않도록 의도적으로 수행 합니다. 사용 사례가 다르므로 nofoldenable. zR모든 접기를 엽니 다. 에서 접기를 비활성화하는 설정에 대해 모르겠습니다 vimdiff. (그것은 나를 귀찮게하지 않습니다 접는 하나의 장소로.)
DevSolar

16

다음은 접기가 멋진 이유를 간략하고 간결하게 요약 한 기사 입니다. 한 줄의 이유는 폴딩으로 인해 매우 큰 파일을 쉽게 탐색 할 수 있기 때문입니다.

접기를 활성화하고 항상 모든 접기가 열린 상태로 시작하려면 vim wiki 가 방법을 알려줍니다. 관심있는 방법은 아마도 자동 명령 방법 일 것입니다.

" Tweak the event and filetypes matched to your liking. 
" Note, perl automatically sets foldmethod in the syntax file
autocmd Syntax c,cpp,vim,xml,html,xhtml setlocal foldmethod=syntax
autocmd Syntax c,cpp,vim,xml,html,xhtml,perl normal zR

또한 사용하는 언어에 대한 사용자 지정 접기 방법을 검색하는 것이 좋습니다. 단순히 "vim <insert language here> 접기"를 검색하면 여러 옵션이 나타납니다. 원하는 접는 방법을 찾을 때까지 다양한 옵션을 사용해보십시오.


4

이 줄을 .vimrc파일에 추가 했는데 같은 문제가 발생했습니다.

autocmd FileType * exe "normal zR"

이 명령은 파일을 자동으로 열 때마다 실행됩니다. 따라서 버그가 표시되지 않고 접기 기능도 손실되지 않습니다.)


3

토론의 요점을 완성하려면 하나만 더 추가하면됩니다.

코드 접기를 활성화하려면 :

:set foldenable 또는 간단히 말해서 :set fen

코드 접기를 비활성화하려면 :

:set nofoldenable 또는 간단히 말해서 :set nofen

코드 폴딩을 활성화하면 일반적인 값이 어디에 있는지 zf,zo etc설정에 따라 원하는대로 모든 명령을 사용할 수 :set fdm=xxxx있습니다.expr,syntax,manual etc.


1

죄송합니다. 관련 질문에 답하고 있지만 다음과 같이 접기를 끈 상태에서 두 개의 파일을 표시하는 것이 유용하다는 것을 알았습니다.

vim "+set nofen" -O file1 file2

1

Vim은 특히 vimdiff를 사용할 때 접기를 ​​비활성화하는 것을 놀랍도록 어렵게 만듭니다.
위의 게시 된 솔루션 중 어느 것도 나를 위해 일하지 않았지만 이것은 ~ / .vimrc에 추가했습니다.

au WinEnter * set nofen
au WinLeave * set nofen

1

내가 설정 foldlevel=20, foldlevelstart=20내가 사용 foldmethod=syntax. vim에서 올바른 접기 작업을하는 데 도움이됩니다.

set nofoldenable 접기를 비활성화하지만 때로는 필요합니다.

vim.wikia

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.