Aufheben der Zuordnung von Befehlen in Vim

16

Also suchte ich nach einer Möglichkeit, mehrere Zeilen in vim einzurücken, und jemand schlug dies vor

:map <Tab> <

und alles, was es tut, ist, das <Zeichen einzufügen , wenn ich die Tabulatortaste drücke (wie habe ich nicht gesehen, dass es passiert ist). Ich habe versucht, regelmäßige Einrückungen zu erzielen :map <Tab> <Tab>und :map <Tab> \twiederzuerlangen, ohne Erfolg. Ich bin neu in der vimTastenbelegung und würde mich sehr über Hilfe freuen. Auch wenn jemand darauf hinweisen könnte, wie mehrere Zeilen eingerückt werden vim, wäre das fantastisch.

Danke im Voraus!

Grigor
quelle
1
:unmap vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1) Google ist dein Freund.
Adam Liss
1
@AdamLiss Google war so lange mein Freund, mein Freund.
Grigor

Antworten:

25

:unmap <Tab> um das Standardverhalten wieder herzustellen.

verwenden :x>>einrücken x Anzahl der Zeilen (von wo aus sich der Cursor)

Ennuikiller
quelle
: Unmap <Tab> macht den Trick nicht .. aus irgendeinem Grund: /
Grigor
das funktioniert bei mir
DoubleDown
6
@Grigor In deiner Frage hast du behauptet, dass du benutzt hast map <Tab> <. Diesen korrekten Befehl rückgängig zu machen ist in der Tat unmap <Tab>, aber der nächste Text ("alles, was er tut, ist das Einfügen des <Zeichens") bedeutet, dass die ursprüngliche Behauptung falsch ist . Es gibt keine Möglichkeit, <mit einer solchen Zuordnung einzufügen , aber es wäre wahr, wenn Sie geschrieben haben imap <Tab> <. Dies Befehl wird mit rückgängig gemacht iunmap <Tab>(beachten Sie das iin beiden Befehlen). Um korrekte Antworten zu erhalten, müssen Sie präzise sein.
ZyX
Ein Hinweis für den Fall, dass jemand den gleichen Kampf wie ich hatte, wenn das ursprüngliche Mapping pufferlokal ist, dann muss das Unmapping auch sein:iunmap <buffer> <Tab>
cristoper
0

Dies löste das Problem, das Zurücksetzen von Tabs.

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

Durch Drücken von wird Tabder Code eingerückt, und der Code wird Shift-Tabwieder eingerückt.

Grigor
quelle
3
Sie können auch verwenden :iunmap <Tab>. Wenn zugeordnet <Tab>ist von :imap, müssen Sie verwenden, :iunmapum die Zuordnung aufzuheben. :unmap <Tab>funktioniert in diesem Fall nicht.
Hai Feng Kao