2012-01-17 10 views
10

Używam vima. W szczególności używam Janus. Mam zestaw expandtab. Jednak w trakcie używania vima z jakiegoś powodu moje ustawienie expandtab zostanie ustawione na noexpandtab, a moje pliki zaczną dostawać twarde karty. Próbowałem pisać na maszynie :verbose set expandtab?, ale to nie pokazuje mi niczego (konkretnie, pokazuje mi, że ustawiono noexpandtab, ale nie pokazuje pliku, który jest odpowiedzialny za jego ustawienie).Jak mogę się dowiedzieć, dlaczego vim ciągle zmienia moje ustawienie expandtab?

Więc chciałbym dowiedzieć się:

  • Dlaczego moje ustawienie expandtab może się zmieniać
  • Jak mogę wyśledzić sprawcę i zapobiec jego dzieje

Dzięki

+0

Co twój: czasownik ustawić expandtab? pokazać? – Rook

+0

Po prostu pojawia się "noexpandtab", tzn. Brak ścieżki do pliku, w którym został ustawiony. – jonleighton

+0

Zresetuj gvima i spróbuj ponownie, najpierw:: verb set expandtab? (nie zapomnij o znaku zapytania). – Rook

Odpowiedz

8

Spróbuj

:verb set expandtab? 
:verb set et? 
:verb set invexpandtab? 

expandtab można naprawdę ustawić na kilka sposobów:/

+0

Dzięki, spróbuję tego. Nie zdawałem sobie sprawy, że uruchamianie tych różnych poleceń może dawać różne odpowiedzi. Co robi też 'invexpandtab'? Nie mogłem znaleźć wiele w Google. – jonleighton

+0

@jonleighton - Podobnie jak inne polecenia, włącza i wyłącza stan. ustaw invnumber, ustaw invexpandtab, set inv ... help invnumber. – Rook

+1

Dobrze, więc wyśledziłem to do [wyrównania wtyczki] (https://github.com/tsaleh/vim-align/blob/master/autoload/Align.vim#L484). ': verb set expandtab?' pokazał mi - Myślę, że być może zapomniałem znaku zapytania, gdy próbowałem go w przeszłości. – jonleighton

2

Ustawienia VIM można ustawić w pliku konfiguracyjnym lub w modeline wewnątrz pliku, który edytujesz. Zauważ, że expandtab można skrócić w VIM do et, więc pamiętaj o tym również.

Możliwe pliki konfiguracyjne chciałbym zwrócić uwagę:

  1. /etc/vim/vimrc i innych plików w tym katalogu (kiedyś vimrc.local i tak)
  2. $HOME/.vimrc

As Modelines, są one po prostu konfiguracja opcje dla VIM, zlokalizowane jako komentarze w samym pliku. Jeśli tak się dzieje tylko w przypadku niektórych plików, ale nie innych, spojrzeć na komentarze, które wyglądają mniej więcej tak:

/* vim: set noet ai tw=75: */ 

i spróbuj je usunąć i sprawdzić, czy to pomaga.

+0

Dzięki. Grepping nie pojawił się zbyt wiele. Zamierzam wypróbować ldigas, gdy następnym razem uda mi się naprawić problem i zobaczyć, czy to wszystko wyjaśnia. – jonleighton

5

należy dodać, że oprócz wyżej jeśli próbowałem następujące:

:verb set expandtab? 
:verb set et? 
:verb set invexpandtab? 

Wrócisz bez numeru wiersza lub pliku:

noexpandtab 

Jest więcej niż prawdopodobne, że masz następujące elementy i trzeba zmienić kolejność:

set expandtab 

set binary 
set noeol 

Zmień na (uwagę kolejność)

set binary 
set noeol 

set expandtab 

Powodem tego jest to, ze względu na polecenia set binary ma kilka wartości domyślnych, które wykonuje po uruchomieniu.W tym następujące:

'textwidth' will be set to 0 
'wrapmargin' will be set to 0 
'modeline' will be off 
'expandtab' will be off 

Zauważyłam DavidWinterbottom nazwał to w swoim komentarzu, ale wydawało się, że jedyny komentarz, który został ukryty domyślnie i to spowodowało, że o wiele więcej czytania, co było konieczne, więc miejmy nadzieję, ten post pomaga kolejnej biednej duszy zmarnować niezliczone godziny na tropienie tego.

Powiązane problemy