Elastyczne tabstopsy w Vimie?


26

Czy w Vimie jest wtyczka lub wbudowana funkcja, która pozwala na elastyczne tabstopsy ? Przeszukałem trochę i znalazłem referencje, które mówiły, że nie było to możliwe w Vimie, ale były one dość stare.

Czy istnieje sposób, aby mieć elastyczne tabstopy w Vimie? Nie mam nic przeciwko rozwiązaniu dla Neovim, ponieważ i tak z niego korzystam.


2
W Neovim jest otwarta prośba o tę funkcję.
Caleb,

Odpowiedzi:


18

O ile mogę stwierdzić, nie ma rozsądnego sposobu na osiągnięcie tego we wtyczce.

Jest łatka , ale trudno przewidzieć, kiedy / czy łatka zostanie scalona.


6
Ktokolwiek, jeśli chcesz, aby to się połączyło, dopinguj go na vim-dev (a także odpowiedz, jak dobrze to działa dla ciebie)
Christian Brabandt

2
Ta łatka nie wydaje się być elastycznymi zakładkami. Zamiast tego są to zmienne tabstopsy, ale musisz wcześniej ustawić punkty zatrzymania. To jest miłe na swój sposób, ale nie do końca o to pytanie.
Caleb

@Caleb, prawdopodobnie mógłbyś coś napisać, po scaleniu patcha var tabstop.
Christian Brabandt,

@Christian nie, nie możesz. Zobacz dyskusję w Internecie, ale nie można tego zrobić jako skryptu / wtyczki w vimie (nawet ze zmienną z łatką tabstop), ponieważ zachowuje tylko jedną metodę renderowania wszystkich linii. Po prostu nie ujawnia, czego potrzebujesz, aby to zadziałało.
Caleb,

5
Wspomniana łatka została połączona od 8.1.105
Christian Brabandt

8

Z komentarzy: od wersji 8.1.105, vim ma +vartabsfunkcję czasu kompilacji, dzięki Christianowi Brabandtowi !

O ile widzę, pozwala to na implementację elastycznych tabstopsów. Zobacz aktualne żądanie ściągnięcia .


1
Możesz połączyć się z dokumentami lub wyjaśnić, jak można to zaimplementować. To może pomóc przyszłym czytelnikom bardziej niż link do użytkownika, który o tym wspomina.
Lucas

2
: set vartabstop = 4,20,10,8 - Spowoduje to, że pierwsza tabulacja będzie miała 4 spacje, druga 20 spacji, trzecia 10 spacji, a wszystkie następne tabulacje 8 spacji.
pdwalker

1
vartabstop nie jest wystarczający dla elastycznych tabstopsów, ponieważ tabstopsy nie mogą różnić się między blokami kodu. vartabstop dotyczy całego pliku.
Aron Griffis
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.