Problema: lo spostamento delle linee in verticale chiude le pieghe


9

Quando sposto le linee con m(ad esempio :m+1) tutte le mie pieghe sono chiuse. Posso quindi aprire di zvnuovo il pieghevole e il cursore si troverà nella posizione in cui mi sono spostato. Uso la piegatura con {{{ }}}segni e ho set foldmethod=markernel mio .vimrc.

Come posso impedire a vim di chiudere le pieghe quando si spostano le linee?


1
Non riesco a riprodurre questo usando vim -u NONE -U NONE -N. Potrebbe essere un problema con il tuo vimrc o un plugin.
EvergreenTree

2
Succede anche per me -U NESSUNO -U NESSUNO -N. Uso v7.4 su arch linux
dnieder

1
@EvergreenTree Ho lo stesso problema. Con vim -u NONE -U NONE -N fold-teste solo impostazione foldmethod=marker. Sto eseguendo Vim 7.4.712 sull'Arch. Se provo lo stesso con Vim su Vim 7.4.160 su CentOS 7, ottengo esattamente i risultati opposti (tutte le pieghe si aprono durante l'uso :m+1). E Vim 7.2.441 su CentOS 6 funziona bene ... Tutte fold*queste impostazioni sembrano essere le stesse su queste macchine.
Martin Tournoij,

1
È molto strano. Sembra un bug.
EvergreenTree

3
Ciò potrebbe essere causato dalla patch 7.4.700 che tenta di impedire che le pieghe non siano valide su: sposta comandi
Christian Brabandt

Risposte:


2

Puoi disabilitare il pieghevole prima di farlo :m+1usando zi. E quindi abilitarlo di nuovo con zi.

Puoi anche aggiungere un mapping speciale per quello nel tuo .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

Questo ha funzionato per me. (anche se ho usato attacchi diversi)
IanEdington il

1

La piegatura è un meccanismo piuttosto complicato (vedi un'altra risposta che ho dato sulle pieghe per una discussione sfumata sulla scansione pieghevole).

Per dare una risposta completa dovremo vedere quale tipo di plugin stai caricando quando avvii un'istanza di vim.

Scommetto che ci sono alcuni plugin che si confondono con le impostazioni predefinite di VIM ( vim -u NONEavrebbe dovuto riprodurlo). Qualsiasi plug-in che modifica il foldmethodè una causa probabile (proverei a rimuoverli 1 per 1 e vedere quali sono le cause del problema)

Se non vuoi assolutamente confondere con i tuoi plugin, ti consiglio di modificare manualmente la sintassi + le impostazioni di analisi e quindi aprire un buffer di prova per confermare la tua funzionalità. Può essere un viaggio frustrante farlo funzionare bene ma con qualche incessante scavo in :helpte dovresti essere in grado di combattere la bestia che si sta piegando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.