Jak zmienić tabulatory na spacje w vimie?

czas wydawania: 2022-09-24

Jest na to kilka sposobów.Najprostszym sposobem jest użycie opcji wiersza poleceń :set tabstop=4.Spowoduje to zmianę wszystkich zakładek w dokumencie na spacje. Innym sposobem jest użycie opcji wiersza poleceń :tabedit.Spowoduje to otwarcie okna edycji karty, w którym możesz wpisać liczbę spacji, na które chcesz przekonwertować każdą kartę. Na koniec możesz użyć opcji wiersza poleceń :set shiftwidth=4, która zmieni wszystkie karty w twoim dokumencie na cztery spacje szeroki.To tylko kilka przykładów; dostępnych jest o wiele więcej opcji, jeśli ich potrzebujesz. Wszystkie te metody działają równie dobrze zarówno z plikami tekstowymi, jak i kodowymi.

Jak mogę sprawić, by vim używał spacji zamiast tabulatorów?

Jest na to kilka sposobów.Jednym ze sposobów jest użycie opcji wiersza poleceń :set tabstop=4.Ustawia to tabulator na 4 spacje, co spowoduje, że vim użyje czterech spacji zamiast tabulatorów podczas wstawiania tekstu do dokumentu.Innym sposobem jest użycie wtyczki autoindent.Ta wtyczka automatycznie wcina tekst na podstawie otaczających go linii, więc jeśli ustawisz zmienną autoindent w swoim pliku .vimrc na 1, vim użyje jednej spacji na każdy znak tabulacji podczas wstawiania tekstu do dokumentu.Na koniec możesz także skonfigurować skróty klawiaturowe Vima, aby działały inaczej w zależności od tego, czy używasz tabulatorów, czy spacji.Na przykład skrót CTRL-T można skonfigurować tak, aby wstawiał znak tabulacji zamiast spacji, gdy jest używany w trybie edytora Vima (np. podczas edycji plików). Jeśli żadna z tych metod nie działa dla Ciebie lub jeśli po prostu chcesz łatwiejszy sposób na przełączanie się między tabulatorami i spacją bez konieczności zapamiętywania konkretnych poleceń lub naciśnięć klawiszy, możesz zainstalować rozszerzenie vim-tabs.To rozszerzenie zapewnia wiele przydatnych funkcji związanych z przełączaniem między tabulatorami i spacją w trybie edytora Vima, w tym funkcję automatycznego wcięcia i obsługę wielu języków.

Jaki jest najlepszy sposób na konwersję tabulatorów na spacje w vimie?

Jest na to kilka sposobów, ale najłatwiej jest użyć polecenia :set tabstop=4.Spowoduje to ustawienie tabulatora na 4 spacje, co spowoduje konwersję wszystkich tabulatorów w pliku na spacje. Jeśli chcesz, aby tylko niektóre części pliku zostały przekonwertowane na spacje, możesz użyć polecenia :setlocal tabstop=n.Spowoduje to ustawienie tabulatora dla linii, które pasują do podanego wzorca, na n spacji, co będzie miało wpływ tylko na te linie. Na przykład: :setlocal tabstop=2 Jeśli chcesz, aby wszystkie tabulatory w twoim pliku były przekonwertowane na spacje, niezależnie od ich pozycji na ekranie, możesz użyć opcji :settab.To ustawi domyślne zachowanie dla wszystkich plików otwieranych przez vim i przekonwertuje wszystkie tabulatory na spacje.:settab Możesz także zmienić ile spacji na tabulator używa Vim ustawiając zmienną środowiskową 'stty'.Na przykład: export STTY='utf8' Wtedy kiedy Vim się uruchomi, użyje 8 spacji na kartę zamiast

Można to zrobić na kilka sposobów, ale

najłatwiej jest

używać

polecenie :set tabstop=4.Spowoduje to zatrzymanie tabulacji

do 4 spacji, co

przekonwertuje wszystkie karty w pliku na spacje.

Jeśli chcesz przekonwertować tylko niektóre części pliku

do przestrzeni, możesz użyć

polecenie :setlocal tabstop=n.Spowoduje to ustawienie tabulatora dla pasujących linii

podany wzorzec do n przestrzeni s , co wpłynie tylko na te linie.

Na przykład: :setlocal tabstop=2 Jeśli chcesz, aby wszystkie tabulatory w twoim pliku były przekonwertowane na spacje , niezależnie od ich pozycji na ekranie , możesz użyć opcji :se ttab . To ustawi domyślne zachowanie dla wszystkich plików otwieranych przez vima i przekonwertuje wszystkie tabulatory na spacje .: set ttab 'st ty' zmienna środowiskowa . Na przykład: export STTY='utf8' Wtedy kiedy Vim się uruchomi, użyje 8 spacji na tab zamiast

  1. : stty -T utf8 Aby całkowicie wyłączyć konwersję (tak, aby każdy znak był traktowany jako własny token), dodaj ":notab" na końcu pliku .vimrc.: notab
  2. :: stty -T utf8 Aby całkowicie wyłączyć konwersję (tak, aby każdy znak był traktowany jak własny token), dodaj ":notab" na końcu naszego .

Jak powstrzymać vima przed używaniem tabulatorów i zamiast tego używać spacji?

To pytanie było zadawane wiele razy i jest na to kilka sposobów.Oto cztery metody:

:ustaw tabulator=4

niech g:TabStop = 4

:ustaw softtabstop=4

  1. Użyj opcji wiersza poleceń :set tabstop=4 Ustaw zmienną 'tabstop' w pliku .vimrc Użyj opcji wiersza poleceń :set softtabstop=4 Użyj polecenia setlocal softtabstop Pierwsze dwie metody działają z domyślnymi ustawieniami Vima, podczas gdy trzecia wymaga aby dodać linię do pliku .vimrc.Czwarta metoda używa lokalnych ustawień Vima dla 'softtabstop'. Oto przykład użycia każdej metody: Aby użyć opcji wiersza poleceń :set tabstop=4, wpisz:
  2. Aby ustawić zmienną „tabstop” w pliku .vimrc, wpisz:
  3. Aby użyć opcji wiersza poleceń :set softtabstop=4, wpisz:

Czy istnieje sposób na zmuszenie vima do używania spacji zamiast tabulatorów?

Istnieje sposób na zmuszenie vima do używania spacji zamiast tabulatorów, ale nie jest to zbyt przyjazne dla użytkownika.Aby to zrobić, musisz ustawić opcje „tabstop” i „softtabstop” w swoim pliku .vimrc.Opcja tabulatora określa, ile spacji zostanie wstawionych po każdym znaku tabulacji, natomiast opcja softtabstop określa, ile spacji zostanie wstawionych przed każdym znakiem innym niż spacja. Aby ustawić opcję tabulatora:

Czy istnieje sposób na zmuszenie vima do używania spacji zamiast tabulatorów?

Istnieje sposób na zmuszenie vima do używania znaków drugorzędnych zamiast tabulatorów, ale nie jest to zbyt przyjazne dla użytkownika. Aby to zrobić, należy zachować opcje „tabstops” i „softtabstops” w ich pliku.

  1. Otwórz plik .vimrc Dodaj następującą linię:set tabstop=4 Zapisz zmiany Aby ustawić opcję softtabstop: Otwórz plik .vimrc Dodaj następującą linię:set softtabstop=4 Zapisz zmiany Jeśli używasz Vima 7 lub nowszego, możesz użyj również polecenia "setlocal softtabstop", aby ustawić obie opcje jednocześnie.: Jeśli używasz Vima 6 lub wcześniejszego, będziesz musiał dodać osobną linię dla każdego ustawienia.: Możesz również użyć jednego z tych poleceń, aby zmienić tabulatory do spacji automatycznie po ich wpisaniu: autocmd BufNewFile * :setlocal shiftwidth=4 autocmd FileType c :setlocal shiftwidth=4 Zamknij i ponownie otwórz plik .vimrc Jeśli chcesz wrócić do używania tabulatorów, po prostu usuń jeden z tych wierszy z pliku .vimrc .: Jeśli nie chcesz automatycznie zmieniać tabulacji na spacje podczas ich wpisywania, ale raczej ręcznie dostosuj ich szerokość w razie potrzeby, możesz zamiast tego użyć jednego z tych poleceń: autocmd BufNewFile * :setlocal shiftwidth= 0 autocmd FileType c :setlocal softtab stop = 0 Ciesz się!
  2. .Otwórz plik'.virc'.

Dlaczego miałbym chcieć zamieniać tabulatory w spacje w vimie?

Jest kilka powodów, dla których możesz chcieć to zrobić.Jednym z powodów jest to, że może sprawić, że edycja będzie bardziej wydajna.Kiedy masz wiele otwartych kart w vimie, każda z nich jest traktowana jako osobny plik.Zamieniając tabulatory w spacje, vim potraktuje cały tekst w tych zakładkach jako jeden plik, co może zaoszczędzić dużo czasu podczas edycji dużych plików.

Innym powodem, aby zmienić tabulatory w spacje, jest spójność.Jeśli cały twój kod i pliki źródłowe są zapisane w tabulatorach, może to być mylące, jeśli zaczniesz wpisywać słowa w jednym wierszu, a następnie naciśniesz klawisz tabulatora, aby przejść do następnego wiersza, a zamiast tego naciśniesz spację.Przekształcenie tabulatorów w spacje rozwiąże ten problem, tak aby każde słowo znajdowało się w jednym wierszu.

Wreszcie zamiana kart w spacje może pomóc w uporządkowaniu kodu.Gdy wszystko znajduje się w jednej linii, znacznie łatwiej jest zobaczyć, gdzie wszystko do siebie pasuje i łatwiej jest znaleźć określone fragmenty kodu, gdy ich potrzebujesz.

Ile spacji reprezentuje karta w vimie?

Kiedy naciśniesz klawisz tabulacji w vimie, wstawi on liczbę spacji równą liczbie tabulatorów określonej przez opcję :set tabstop.Na przykład, jeśli ustawiłeś tabulator na 8 spacji, naciśnięcie klawisza tabulacji wstawi 8 spacji do tekstu.Jeśli nie ustawiłeśżadnego tabulatora, vim użyje dowolnej wartości zdefiniowanej dla 'tabstop' w twoim pliku konfiguracyjnym użytkownika (zazwyczaj

Jeśli chcesz zmienić liczbę wstawianych spacji po naciśnięciu klawisza Tab, możesz to zrobić zmieniając wartość :set tabstop . Domyślne ustawienie to 8 spacji.Możesz także określić inną liczbę spacji za pomocą przecinka dziesiętnego: Warto zauważyć, że to ustawienie wpływa tylko na sposób obsługi kart w vim; nie ma to żadnego wpływu na inne programy, które mogą używać znaków powrotu karetki w stylu systemu Windows (r), takie jak Notatnik lub Wordpad.W takich przypadkach, za każdym razem, gdy naciśniesz Enter lub Return po wpisaniu tekstu do vima i przed naciśnięciem Tab, Vim doda dodatkowy r na końcu tekstu - niezależnie od tego, czy ustawiłeś tabulatory, czy nie!

Istnieje również opcjonalny trzeci argument, który pozwala nam nadpisać znak zastępczy spacji po naciśnięciu TAB: Domyślnie jest to „ ”, ale możemy to zmienić za pomocą :set tabstops=.

  1. . Więc jeśli chcesz wpisać jedną spację zamiast tabulatora, po prostu naciśnij spację.
  2. 5 na pół miejsca, 1 na jedno miejsce i tak dalej.

Czy mogę zmienić liczbę znaków spacji, jaką reprezentuje tabulator w vimie?

TAk.Aby to zrobić, otwórz plik 'tabs' w katalogu konfiguracyjnym vima ( ~/.

Czy zamiana tabulatorów na spacje w vimie wpłynie na wcięcia mojego kodu?

Nie, nie będzie.Tabulatory to po prostu spacje z innym znakiem po spacji.Dlatego nadal możesz zobaczyć znak tabulacji, nawet jeśli zamieniłeś go na znaki spacji.Jeśli jednak chcesz zachować spójność wcięć kodu, powinieneś użyć dwóch spacji zamiast jednej tabulatora i jednej spacji dla każdego poziomu wcięcia.

Jakie są potencjalne problemy z konwersją tabulatorów na spacje w vimie?

  1. Tabulatory można łatwiej rozróżnić w tekście niż spacje.
  2. Po połączeniu wielu kart może być trudno stwierdzić, która z nich powinna zostać przekonwertowana na spację, a która powinna pozostać jako karta.
  3. Jeśli używasz niektórych wtyczek lub skryptów, które opierają się na tabulatorach, przekonwertowanie ich na spacje może powodować problemy.
  4. Jeśli masz wiele plików z różnymi ustawieniami kart, przekonwertowanie ich wszystkich na spacje może spowodować niespójność na całej stacji roboczej.
  5. Niektóre programy (takie jak Sublime Text) automatycznie konwertują tabulatory na spacje podczas zapisywania pliku, więc jeśli nie chcesz, aby tak się stało, upewnij się, że konfiguracja vima nie zawiera opcji „tabstop”.