Chciałbym przekonwertować tabulację na spacje w gVim. Dodałem następujący wiersz do mojego _vimrc
:
set tabstop=2
Działa, aby zatrzymać się na dwóch spacjach, ale nadal wygląda na to, że włożony jest jeden klawisz tabulacji (próbowałem użyć klawisza h, aby policzyć spacje później).
Nie jestem pewien, co powinienem zrobić, aby gVim przekonwertował tabulatory na spacje?
^I
które pochodzą zCtrl-v
potemTab
) byłyby prace, na przykład jeśli bieżące zakładki znajduje się 4 pomieszczenia::%s/ /^I/g
Odpowiedzi:
IIRC, coś w stylu:
powinien załatwić sprawę. Jeśli masz już tabulatory, prześledź je ładnym globalnym RE, aby zastąpić je podwójnymi spacjami.
źródło
Po włączeniu rozwijania zgodnie z innymi odpowiedziami, niezwykle wygodny sposób na konwersję istniejących plików zgodnie z nowymi ustawieniami to:
Będzie działać na bieżącym buforze.
źródło
:%s/\t/ /g
od lat, zanim zobaczyłem twój komentarz.:args retab | w
wszystkie pliki otwarte w wierszu poleceń, npvim *.txt
.Próbować
do miękkich zakładek.
Aby naprawić istniejące wcześniej karty:
Użyłem dwóch spacji, ponieważ już ustawiłeś tabstop na 2 spacje.
źródło
set ts = 4
.To działało dla mnie:
możesz zobaczyć zakładki, które najpierw to robią:
następnie, aby umożliwić zamianę kart, wykonaj następujące czynności:
następnie
teraz wszystkie zakładki zostały zastąpione spacjami, dzięki czemu można wrócić do normalnego wyświetlania w następujący sposób:
źródło
:set list
jest po prostu piękna.gg=G
powtórzy cały plik i usunie większość, jeśli nie wszystkie karty, które dostaję w plikach od współpracowników.źródło
gg
przesuwa kursor na początek bufora.=
jest formatem i przyjmuje polecenie ruchu.G
przesuwa kursor na koniec bufora, dzięki czemu vim formatuje od początku do końca bieżącego bufora.Dodaj następujące wiersze do swojego .vimrc
Otwórz plik w vimie i naciśnij F2. Karty zostaną przekonwertowane na 4 spacje, a plik zostanie automatycznie zapisany.
źródło
q
zamknie również bieżący bufor pliku. Może to być pożądane lub nie.Jeśli chcesz zachować
\t
równe 8 spacji, rozważ ustawienie:Daje to dwie spacje na
<TAB>
prasę, ale rzeczywiste\t
w kodzie będą nadal wyświetlane jako 8 znaków.źródło
softtabstop
, myślę, że jedną z funkcji zabójcy.To działało dla mnie:
źródło
najpierw wyszukaj tabulatory w swoim pliku: / ^ I: set expandtab: retab
będzie działać.
źródło
Ten artykuł ma doskonały skrypt vimrc do obsługi tabulatorów + spacji i konwersji między nimi.
Źródło: http://vim.wikia.com/wiki/Super_retab#Script
Pomogło mi to nieco więcej niż odpowiedzi tutaj, kiedy po raz pierwszy szukałem rozwiązania.
źródło
expand
to narzędzie uniksowe do konwersji tabulatorów na spacje. Jeśli nie chceszset
niczego w vimie, możesz użyć polecenia powłoki z vim:źródło
:
. Teraz pokazuje się wiersz poleceń vim:'<,'>
. Następnie wprowadź!expand -t4
tabulację do 4 spacji. (:'<,'>!expand -t4