Jak wstawić znak tabulacji, gdy w Vimie jest włączona opcja expandtab


352

Gdy jestem w trybie wstawiania i mam expandtabwłączoną opcję, naciśnięcie Tab ↹powoduje wstawienie skonfigurowanej liczby spacji.

Ale czasami chcę wstawić znak tabulacji.

Czy wiesz jak to zrobić?

Odpowiedzi:


516

Możesz używać <CTRL-V><Tab>w „trybie wstawiania”. W trybie wstawiania <CTRL-V>wstawia dosłowną kopię następnego znaku.

Jeśli musisz to robić często, @ Dee`Kej zasugerował (w komentarzach) ustawienie Shift+, Tababy wstawić prawdziwą kartę z tym odwzorowaniem:

:inoremap <S-Tab> <C-V><Tab>

Ponadto, jak zauważył @feedbackloop, w systemie Windows może być konieczne naciśnięcie przycisku <CTRL-Q>zamiast <CTRL-V>.


33
A następnie użyj, .aby powtórzyć ostatnie polecenie, jeśli chcesz wstawić wiele kart.
Xavier T.

10
Miałem pewne problemy z używaniem tej kombinacji, ponieważ byłem w trybie poleceń. Upewnij się, że wykonałeś to polecenie w trybie EDIT.
mgfernan

11
Tryb INSERT, technicznie.
mkmurray

2
Uwaga: Jeśli używasz gVima w systemie Windows, prawdopodobnie będziesz musiał użyć CTRL+ Q- patrz stackoverflow.com/questions/6951672/…
feedbackloop

8
Mam tylko prosty skrót do tej sprawy i wydaje się, że działa (nie psuje niczego innego): inoremap <S-Tab> <C-V><Tab>- Możesz umieścić go w swoim ~/.vimrcpliku.
Dee'Kej

34

Możesz wyłączyć opcję expandtab w Vimie, jak poniżej:

:set expandtab!

lub

:set noet

PS: I ustaw go z powrotem, gdy skończysz wstawiać tabulatory, używając „set expandtab” lub „set et”

PS: Jeśli masz zestaw tabulatorów odpowiadający 4 spacjom w .vimrc (softtabstop), możesz również ustawić 8 spacji, aby móc wstawić tabulację, naciskając klawisz tabulatora raz zamiast dwa razy (set softtabstop = 8 ).


W skrócie: set eti set noetdo zmiany tabi spacew razie potrzeby.
Eric Wang

Ctrl + V spowodował, że nastąpiło wklejenie i nie miałem czasu na dostosowanie skrótów klawiszowych. Pomogło to
Shirish Hirekodi

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.