문제 : 선을 세로로 이동하면 접기가 닫힙니다.


9

m(예를 들어 :m+1) 로 선을 움직이면 모든 접기가 닫힙니다. 그런 다음 접기를 zv다시 열면 커서가 내가 이동 한 위치에있게됩니다. 나는 {{{ }}}마크가 set foldmethod=marker있는 접기를 사용 하고 내 .vimrc에 있습니다.

선을 움직일 때 vim이 접히는 것을 막는 방법은 무엇입니까?


1
를 사용하여 이것을 재현 할 수 없습니다 vim -u NONE -U NONE -N. vimrc 또는 플러그인에 문제가있을 수 있습니다.
EvergreenTree

2
-u NONE -U NONE -N으로도 발생합니다. 아치 리눅스에서 v7.4를 사용합니다
dnieder

1
@EvergreenTree 나는 같은 문제가 있습니다. 와 함께 vim -u NONE -U NONE -N fold-test설정하기 만하면 foldmethod=marker됩니다. 아치에서 Vim 7.4.712를 실행하고 있습니다. CentOS 7의 Vim 7.4.160에서 Vim과 동일하게 시도하면 정확히 반대의 결과가 나타납니다 (을 사용할 때 모든 접기가 열립니다 :m+1). CentOS 6의 Vim 7.2.441은 제대로 작동합니다 ... fold*이 머신에서 모든 설정이 동일한 것 같습니다.
Martin Tournoij

1
매우 이상합니다. 이것은 버그 인 것 같습니다.
EvergreenTree

3
즉 주름이 잘못 타는 것을 방지하려고 패치 7.4.700에 의해 발생 될 수 있습니다 이동 명령을
기독교 Brabandt을

답변:


2

당신이하기 전에 폴딩을 해제 할 수 있습니다 :m+1사용하여 zi. 그런 다음으로 다시 활성화하십시오 zi.

.vimrc에서 특별한 매핑을 추가 할 수도 있습니다 :

""move line up/down with Shift+up/down
nnoremap <S-Up> zi:m-2<CR>zi
nnoremap <S-Down> zi:m+<CR>zi
inoremap <S-Up> <Esc>zi:m-2<CR>zia
inoremap <S-Down> <Esc>zi:m+<CR>zia

이것은 나를 위해 일했습니다. (나는 다른 바인딩을 사용했지만)
IanEdington

1

접기는 매우 복잡한 메커니즘입니다 ( 폴딩 스캔에 대한 미묘한 논의를 위해 접기대해 다른 답변을 참조하십시오 ).

완전한 답변을 제공하기 위해 vim 인스턴스를 부팅 할 때 어떤 유형의 플러그인을로드하고 있는지 확인해야합니다.

기본 vim 설정을 사용하는 플러그인이 몇 개 있습니다 ( vim -u NONE이를 재현해야 함). 를 변경하는 모든 플러그인 foldmethod이 원인 일 수 있습니다 (1x1을 제거하고 문제의 원인을 확인하려고 시도했습니다)

플러그인을 전혀 사용하지 않으려면 구문 + 구문 분석 설정을 수동으로 조정 한 다음 테스트 버퍼를 열어 기능을 확인하는 것이 좋습니다. 멋지게 플레이하는 것은 좌절스러운 일이 될 수 있지만, 끊임없는 파고 :help들어가면 접는 짐승을 wr 수 있습니다.

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