Ich möchte mir das Verwenden von hjkl mehr beibringen als das Verwenden der Pfeiltasten, um in der Startreihe zu bleiben. Und ja, mir ist sehr bewusst, dass man hjkl nicht als Hauptnavigationstasten verwenden sollte. Dennoch sind meine Gewohnheiten ziemlich stark und ich merke nicht einmal, dass diese Handbewegung zu den Pfeiltasten geführt hat und ich möchte es verlernen.
Um diese Gewohnheit zu brechen: Wie kann ich die Pfeiltasten deaktivieren, damit ich gezwungen bin, das hjkl oder eine andere Navigationsmethode zu verwenden?
Als Bonus wäre es hilfreich, wenn noch eine Meldung angezeigt würde, Dont't use this!
dass dies nicht obligatorisch ist. Wenn sie nicht funktionieren, ist es für mich verwirrend genug, meine Gewohnheiten zu überdenken.
quelle
w
für das nächste Wort,}
für den nächsten Absatz,n
für das nächste Suchergebnis,fz
für das nächste Auftretenz
in der aktuellen Zeile usw.), als mehr zu bewegen granular nach einzelnen Zeichen. Dem stimme ich definitiv zu. HJKL ist jedoch definitiv besser als die Pfeiltasten, da Sie Ihre Hände nicht aus der Startreihe bewegen müssen. Ich tippe häufig so etwas wiejA
, das viel schneller ist als<Down>A
und von keiner Bewegung wirklich geschlagen werden kann.Antworten:
Sie können das Hardmode-Plugin installieren und in Ihr
.vimrc
Put-In einfügenWenn Sie nicht möchten , dass ein Plugin verwenden, verwenden Sie (die eine bessere Wahl sein kann, wie man alles selbst anpassen bekommen!)
nnoremap
,vnoremap
Undinoremap
auf<Left>
,<Right>
,<Up>
,<Down>
,<PageUp>
und<PageDown>
, zum Beispiel:quelle
<nop>
wenn Sie die keymap ganz deaktivieren wollen:nnoremap h <nop>
.Wenn Sie oder eine andere Person, die dieses Thema liest, nur die Tastenbewegungen deaktivieren möchten, ohne dass die Textwarnung angezeigt wird, geben Sie die folgenden Zeilen in .vimrc ein
Die Befehle deaktivieren die Tastenbewegung nur im normalen Modus. Sie arbeiten immer noch im Einfügemodus. Wenn Sie inoremap verwenden, wird die Pfeilbewegung auch aus dem Einfügemodus entfernt.
Dieses sehr beliebte Thema befasst sich mit den Unterschieden zwischen Noremap, Noremap, Inoremap usw.: Remapping in Vim
Die allgemeine Idee beim Remapping lautet wie folgt:
In den anderen Beispielen ordnen Sie Ihren linken Befehl einer Eingabeaufforderung zu, die im Übrigen die Aktion des tatsächlichen Bewegens des Cursors aufhebt. Das Beispiel, das ich oben gegeben habe, ordnet die Aktionen einfach eher nichts als etwas anderem zu. Ziehen Sie in Betracht, die vim-Funktionalität zu entfernen, anstatt sie zu ersetzen.
quelle
Sie können dies hinzufügen
.vimrc
, um die Pfeiltasten im Befehls-, Einfüge-, Normal- und visuellen Modus zu deaktivieren:Hinweis: Zur Kasse gehen,
:help map-overview
um weitere Informationen zu den verschiedenen Mapping-Arten zu erhaltenquelle
noremap ... ...
(für den normalen, visuellen, Auswahl- und Operator-ausstehenden Modus) undnoremap! ... ...
(für den Einfüge- und Befehlszeilenmodus) verwenden.noremaps
wäre hilfreich für jemanden, der anpassen möchte, welche Modi betroffen sind