set scrolloff=999
tem funcionado perfeitamente aqui, mas achei chato a longo prazo.
Não depende de mais nada além do Vim não estar no modo compatible
. Basta adicioná-lo ao seu ~/.vimrc
é o suficiente.
Eu tenho usado o WriteRoom por um tempo para todas as minhas necessidades de escrita sem distração. Mas desde que eu recentemente decidi mudar para o Vim (ou mais especificamente, MacVim), tentei reduzir meu uso de outros editores de texto.
O Vim pode reproduzir a maioria dos recursos do WriteRoom, mas o único que me impede de alternar é o modo "rolagem da máquina de escrever". Para aqueles que não usaram o WriteRoom, esse recurso permite que você escreva sempre na mesma linha (muito parecido com uma máquina de escrever) para que você esteja sempre focado no que está escrevendo e não se distraia com o que você escreveu. Todo o texto sobe quando você inicia uma nova linha.
Eu fiz minha lição de casa pesquisando tudo que eu achava que estava relacionado, mas eu só encontrei "plugins" e outros Vim configurações que estão fazendo com que o Vim se pareça com o WriteRoom, mas nunca forneceu o recurso sagrado (talvez eu tenha procurado com as palavras-chave erradas porque eu não sou um falante nativo).
Embora eu tenha encontrado este artigo dizendo que é possível com um cenário simples Eu não poderia fazer isso funcionar, seja no Terminal ou no MacVim ... Se isso funciona para você, eu ficaria feliz em saber como (eu comecei com um vazio .vimrc talvez você precise ativo algumas outras coisas).
Este recurso não é muito útil quando se trata de código, então eu não ficaria surpreso se não fosse possível fora da caixa. Neste caso, se você tem alguma pista sobre como eu poderia fazer o script (mesmo que eu não esteja familiarizado com o script do Vim, eu posso investigar isso), então eu poderia tentar fazer um pequeno plugin para isso.
Eu tentei set setscrolloff=999
, que parece ser a solução oficial para isso, mas, como observado nos comentários, só funcionou para mim depois de criar linhas à frente do cursor.
Eu só uso o Vim por uma semana, então não sou especialista e não sei se essa é a melhor alternativa, mas você pode adicionar :inoremap <CR> <CR><Esc>zzi
ao seu vimrc. Pelo menos dessa forma, sua linha atual (ou seja, parágrafo) estará sempre centralizada quando você chegar ao meio da tela.