Tabstops elastici in Vim?


26

Esiste un plug-in o una funzionalità integrata in Vim che consente l'utilizzo di tabstops elastici ? Ho cercato un po 'e ho trovato alcuni riferimenti che dicevano che non era possibile in Vim, ma quelli erano piuttosto vecchi.

C'è un modo per avere tabstops elastici in Vim? Sto bene anche con una soluzione per Neovim, poiché è quello che uso comunque.


2
C'è una richiesta di funzione aperta per questo su Neovim.
Caleb

Risposte:


18

Per quanto ne so, non esiste un modo ragionevole per farlo in un plugin.

C'è una patch per questo, ma è difficile prevedere quando / se la patch verrà unita.


6
Qualcuno, se vuoi che questo sia unito, per favore tifa per questo su vim-dev (e rispondi anche quanto funziona bene per te)
Christian Brabandt,

2
Questa patch non sembra essere in realtà tabstops elastici. Invece è tabstops variabili, ma è necessario impostare i punti di arresto in anticipo. Questo è bello a modo suo ma non proprio di cosa si tratti.
Caleb

@Caleb, potresti probabilmente scrivere qualcosa, una volta che la patch var tabstop è stata unita.
Christian Brabandt,

@Christian no non puoi. Guarda la discussione sul web ma questo non può essere fatto come uno script / plugin in vim (anche con la variabile con patch tabstop) perché mantiene solo un metodo per rendere tutte le linee. Semplicemente non espone ciò di cui avresti bisogno per farlo funzionare.
Caleb

5
La patch menzionata è stata fusa dall'8.1.105
Christian

8

Dai commenti: dalla versione 8.1.105, vim ha funzionalità di +vartabscompilazione, grazie a Christian Brabandt !

Per quanto posso vedere, questo consente l'implementazione di tabstops elastici. Vedi la richiesta pull effettiva .


1
Puoi collegarti ai documenti o spiegare come potrebbe essere implementato. Ciò potrebbe aiutare i futuri lettori più del link all'utente che lo menziona.
Lucas,

2
: set vartabstop = 4,20,10,8 - Questo renderà la prima scheda larga 4 spazi, la seconda 20 spazi, la terza 10 spazi e tutte le seguenti schede 8 spazi.
pdwalker,

1
vartabstop non è sufficiente per i tabstops elastici, poiché i tabstops non possono variare tra i blocchi di codice. vartabstop si applica all'intero file.
Aron Griffis,
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.