Como fazer o salto para a linha se desdobrar automaticamente

9

Quando pulo para a linha ( :76), termino em uma dobra, mas ela não abre.

Posso desdobrar rapidamente a dobra e ela fica na linha certa, mas quero que a dobra se desdobre automaticamente para salvar as teclas digitadas.

Existe uma maneira de isso ser alcançado?

hakunin
fonte

Respostas:

10

A foldopenconfiguração controla quais comandos abrirão dobras. Em :help 'foldopen'podemos ver a lista de valores possíveis:

            item            commands
            all             any
            block           "(", "{", "[[", "[{", etc.
            hor             horizontal movements: "l", "w", "fx", etc.
            insert          any command in Insert mode
            jump            far jumps: "G", "gg", etc.
            mark            jumping to a mark: "'m", CTRL-O, etc.
            percent         "%"
            quickfix        ":cn", ":crew", ":make", etc.
            search          search for a pattern: "/", "n", "*", "gd", etc.
                            (not for a search pattern in a ":" command)
                            Also for [s and ]s.
            tag             jumping to a tag: ":ta", CTRL-T, etc.
            undo            undo or redo: "u" and CTRL-R

Ao ler a documentação, você esperaria que set foldopen+=jumpfuncionasse, mas não funciona :76apenas 76G. Não tenho certeza se isso é intencional ou um bug no Vim.

Usando set foldopen=all faz trabalho corretamente; mas pode ter efeitos colaterais indesejados (especificamente, você não pode mais "mover" uma dobra com je k).

Martin Tournoij
fonte
3
:76não é considerado um "salto" no vim e não é lembrado no jumplist ( :jumps). 76Gpor outro lado, há um salto (documentado :h jump-motions, tão improvável que seja um bug). Você pode adicionar que pode usar zvdepois :76para abrir a dobra.
massa
@Mass O OP não quer digitar nada para abrir a dobra, uma vez que eles pousam nela.
Herb Wolfe
Assim como :76saltar ao iniciar o vim não parece abrir dobras (exemplo: gvim +76 myfile.tex... estou usando-o com a opção --servernamecom o synctex). Existe uma solução alternativa? Qual é o comando Ex para pular?
PlasmaBinturong
Eu tentei, gvim --servername GVIM "+normal 76G" myfile.texmas não se desenrola.
PlasmaBinturong
Algo que funcionou para mim dobras abertas a partir através da capacidade do servidor: gvim --servername VIMTEX --remote '+normal 76GzO<CR>' myfile.tex(por alguma razão, os zO(dobras abertas) e retorno de carro são necessários.
PlasmaBinturong