2011-12-06 9 views
5

Chciałbym zamapować < < i >> na pojedyncze klawisze, aby przyspieszyć mój przepływ pracy, ale nie mogę znaleźć żadnych informacji o tym, jak napisać remap w moim vimrc . Masz pomysł, jak mogę załapać mój remap?vim - remapowanie >><< (polecenia wcięć)

+1

Czy na pewno chcesz je zmienić? Po pierwszym wcięciu przez '>>' możesz nacisnąć '.', aby powtórzyć akcję. Prawie tak dobrze, jak ponowne przyporządkowanie do pojedynczego naciśnięcia klawisza. –

+1

W trybie wizualnym pojedyncze '<' or '>' wykonuje już wcięcie. –

+2

należy zauważyć, że w trybie wstawiania odpowiednio wcięcia i deindent CTRL-T i CTRL-D. – Benoit

Odpowiedz

7

Pewnie szuka :noremap:

:noremap > >> 
:noremap < << 

Jeśli wystarczy użyć :map, to oczywiście się rekurencyjnie określoną funkcję, która jest zabawne. (^C to zatrzyma). Wersja :noremap nie rekurencyjnie rozwija mapowania.

9

Pozostałe udzielone odpowiedzi odpowiadają na Twoje natychmiastowe pytanie. Chciałbym zasugerować, że przemapować że wcięcia i dedent do odpowiednio w obu trybach normalnych i wizualnych (upewniając się, aby dodać gv aby ponownie wybrać tryb selekcji wizualnej):

nnoremap <TAB> >> 
nnoremap <S-TAB> << 
vnoremap <TAB> >gv 
vnoremap <S-TAB> <gv 

W trybie wstawiania oczywiście , jak zapewne już wiesz, możesz po prostu użyć wcięcia/dedentacji jako Ctrl-t Ctrl-t i Ctrl-d.

Powiązane problemy