Não deixe o rolo do vim abaixo da linha inferior

2

Como posso desabilitar esse vim para que eu possa rolar pelo final de um arquivo?

    
por jhasse 23.01.2012 / 13:17

4 respostas

4

Vim não permite que você role após o final do arquivo (como em, mova o cursor além da última linha existente ), mas mostra algumas linhas atrás da última, porque tem que mostrar algo .

Não pode ser desabilitado, desculpe. Não, a menos que você deseje baixar as fontes do Vim (afinal de contas, é open source) e mexer com . Insere nativamente ~ s em linhas que não existem, porque, bem, tem que mostrar alguma coisa. Todos os editores fazem isso.

Como alguém sugeriu, há soluções alternativas ao redor disso ... mas isso é tudo o que elas são - soluções alternativas. E nenhum deles funciona muito bonito. Eu não recomendaria nenhum deles.

    
por 23.01.2012 / 22:56
2

Quando chegar ao final do arquivo, você poderá usar zz ou zt para mover a linha atual para o meio ou para o topo da janela, respectivamente. Você pode fazer isso sempre, independentemente da localização no arquivo. A configuração scrolloff fará com que o cursor permaneça, por exemplo, com 5 linhas da parte superior ou inferior da janela se você tiver definido como 5 ( set scrolloff=5 ). No entanto, isso não funciona quando você chega na parte superior ou inferior do arquivo.

    
por 04.09.2014 / 03:21
0

Sem um hack bastante feio que provavelmente parece visualmente perturbador e devagar o Vim, você não pode fazer o que quiser. Basicamente, você teria que configurar algo como um autocmd para os eventos CursorMoved / CursorMovedI que tentaram detectar se a parte inferior do arquivo foi exibida e, em caso afirmativo, executar alguns comandos do modo normal para forçar a posição de rolagem.

Vale a pena notar (e como dizem as pessoas no link que johnny forneceu em seu comentário), o Vim não é o único aplicativo que se comporta assim, e você não pode realmente rolar pelo final de um arquivo no Vim— a última linha deve estar sempre visível.

    
por 23.01.2012 / 19:56
0

Se você não se importa em mover o cursor, isso funciona:

noremap <ScrollWheelUp> H5k
noremap <ScrollWheelDown> L5j
    
por 26.08.2015 / 11:54

Tags