Tabstops elásticos no Vim?


26

Existe um plug-in ou um recurso interno no Vim que permita tabstops elásticos ? Pesquisei um pouco e encontrei algumas referências dizendo que não era possível no Vim, mas eram bastante antigas.

Existe uma maneira de ter tabstops elásticos no Vim? Também estou bem com uma solução para o Neovim, pois é isso que eu uso de qualquer maneira.


2
Há uma solicitação de recurso aberta para isso no Neovim.
Caleb

Respostas:


18

Tanto quanto posso dizer, não há uma maneira razoável de fazer isso em um plugin.

Existe um patch para ele, mas é difícil prever quando / se o patch será mesclado.


6
Qualquer pessoa, se você quer este a ser incorporada, por favor elogio para ele no vim-dev (e também responder de volta como isso funciona bem para você)
Christian Brabandt

2
Este patch não parece realmente ser tabstops elásticos. Em vez disso, são tabulações variáveis, mas você precisa configurar os pontos de parada antes do tempo. Isso é agradável à sua maneira, mas não é exatamente do que se trata.
Caleb

Caleb @, você provavelmente poderia escrever algo, uma vez que o patch var tabstop foi mesclado.
Christian Brabandt 7/03/16

@ Christian não, você não poderia. Veja a discussão na web, mas isso não pode ser feito como um script / plugin no vim (mesmo com a variável com patch tabstop) porque ele mantém apenas um método para renderizar todas as linhas. Apenas não expõe o que você precisaria para fazer isso funcionar.
Caleb

5
O patch mencionado foi mesclado a partir de 8.1.105
Christian Brabandt

8

Dos comentários: desde a versão 8.1.105, o vim possui +vartabsum recurso de tempo de compilação, graças a Christian Brabandt !

Tanto quanto eu posso ver, isso permite implementar tabstops elásticos. Veja a solicitação de recebimento real .


11
Você pode vincular os documentos ou explicar como ele pode ser implementado. Isso pode ajudar os futuros leitores mais do que o link para o usuário que o menciona.
Lucas

2
: defina vartabstop = 4,20,10,8 - Isso fará com que a primeira guia tenha 4 espaços de largura, os segundos 20 espaços, os terceiros 10 espaços e todas as seguintes guias em 8 espaços.
Pdwalker

11
vartabstop não é suficiente para tabstops elásticos, porque os tabstops não podem variar entre os blocos de código. vartabstop se aplica a todo o arquivo.
Aron Griffis 14/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.