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.