Odznaczanie poleceń w Vimie


16

Więc szukałem sposobu wcięcia wielu linii w vimie, a ktoś zaproponował zrobienie tego

:map <Tab> <

i wszystko, co robi, to wstawianie <znaku za każdym razem, gdy naciskam klawisz Tab (Jak go nie widziałem). Próbowałem to zrobić :map <Tab> <Tab>i :map <Tab> \tprzywrócić regularne wcięcia, ale bez powodzenia. Jestem nowy w vimmapowaniu klawiszy, więc naprawdę doceniłbym pomoc. vimByłoby też świetnie, gdyby ktoś mógł wskazać sposób wcięcia wielu linii .

Z góry dziękuję!



1
@AdamLiss Google jest moim przyjacielem od tak dawna.
Grigor

Odpowiedzi:


26

:unmap <Tab> aby przywrócić domyślne zachowanie.

użyj :x>>do wcięcia x liczby linii (od miejsca, w którym znajduje się kursor)


: unmap <Tab> nie działa. Z jakiegoś powodu: /
Grigor

to działa dla mnie.
doubleDown

6
@ Grigor W swoim pytaniu twierdziłeś, że użyłeś map <Tab> <. Cofnięcie tego poprawnego polecenia jest wprawdzie unmap <Tab>, ale następny tekst („wystarczy wstawić <znak”) oznacza, że ​​pierwotne twierdzenie jest fałszywe . Nie ma możliwości wstawienia <takiego mapowania, ale byłoby to prawdą, gdybyś napisał imap <Tab> <. To polecenie jest cofane za pomocą iunmap <Tab>(zwróć uwagę na ioba polecenia). Aby uzyskać poprawne odpowiedzi, musisz być precyzyjny.
ZyX

Uwaga na wypadek, gdyby ktoś miał taką samą walkę jak ja, jeśli oryginalne mapowanie jest buforowane lokalnie, wówczas odwzorowanie musi być również:iunmap <buffer> <Tab>
cristoper 10.10.18

0

Rozwiązało to problem polegający na cofnięciu tabulacji wstecznej.

:imap <Tab> <C-t>
:imap <S-Tab> <C-d>

Naciśnięcie Tabwcięcia kodu powoduje Shift-Tabcofnięcie wcięcia kodu.


3
możesz także użyć :iunmap <Tab>. Jeśli <Tab>jest mapowany przez :imap, musisz użyć go, :iunmapaby go odwzorować . :unmap <Tab>nie działa w tym przypadku.
Hai Feng Kao,
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.