Wenn die Pfeiltasten in vimrc deaktiviert sind, geben Sie ABCD ein und wechseln in den Einfügemodus. Warum?

518
Nicholas Adamou

Wenn ich die Pfeiltasten drücke, vimbekomme ich das in dieser illustrierten Gif dargestellte Verhalten .

Ich möchte nur hjklzum Navigieren benutzen . Jedes Mal, wenn ich die Pfeiltasten drücke (nach oben, unten, links oder rechts), möchte ich, dass es mir eine der hjklTasten sagt . Wenn ich zum Beispiel die Aufwärtspfeiltaste drücke, möchte ich Folgendes sagen: Use kund mich nicht in den Einfügemodus oder Typ setzen A.


Ich habe der .vimrcDatei folgendes hinzugefügt :

noremap <up> <nop> noremap <down> <nop> noremap <left> <nop> noremap <right> <nop>  nnoremap <Left> :echoe "Use h"<nop> nnoremap <Right> :echoe "Use l"<nop> nnoremap <Up> :echoe "Use k"<nop> nnoremap <Down> :echoe "Use j"<nop> 

Ich habe es versucht

Ich habe in meinem ~/.vimrc( vimrc Pastebin ) nocompatible gesetzt .

Ich verwende vim-plugmeine vim Plugins.

Hier ist eine Liste meiner vim Plugin-Verzeichnisse in ~/.vim/bundles/:

ctrlp.vim/ emmet-vim/ fzf.vim/ gulp-vim/ git_status.vim/ gist-vim/ nerdtree/ nerdtree-git-plugin/ scss-syntax.vim/ syntastic/ tComment/ vim-autoformat/ vim-bundler/ vim-coffee-script/ vim-coloresque/ vim-endwise/ vim-eunuch/ vim-fugitive/ vim-go/ vim-mkdir/ vim-multiple-cursors/ vim-projectionist/ vim-pug/ vim-rails/ vim-rake/ vim-rhubarb/ vim-ruby/ vim-run-interactive/ vim-slim/ vim-surround/ vim-test/ vim-tmux-navigator/ webapi-vim/ 
1
Bitte * erklären * Sie das Verhalten, das Sie bekommen. Da Sie nicht wissen, was Sie getippt haben, ist es schwierig, Ihre GIF zu verstehen. (Und vielleicht möchten Sie vielleicht noch einmal aufnehmen, um den zweiten Teil (nach dem Start von "vim") langsamer zu machen (mehr Zeit zwischen Tastatureingaben), sodass Sie leichter erkennen können, was passiert.) Bitte antworten Sie nicht in Kommentaren. Bearbeiten Sie Ihre Frage, um sie klarer und vollständiger zu machen. G-Man vor 7 Jahren 0
@ G-Man Wenn das "A" erscheint, ist es, weil ich den "Aufwärtspfeil" gedrückt habe Nicholas Adamou vor 7 Jahren 0
@ G-Man Und ja, dein Recht. Sollte verständlicher sein. Nicholas Adamou vor 7 Jahren 0
@ G-Man Ich habe das Gif mit Keycastr verständlicher gemacht Nicholas Adamou vor 7 Jahren 0
Aus Neugier ... warum? Nic Hartley vor 6 Jahren 0

1 Antwort auf die Frage

0
Kutsan Kaplan

Nach stundenlanger Arbeit. Ich glaube, ich habe dies zumindest für mich gefunden. Wenn dies für Sie nicht funktioniert, bin ich mir sicher, dass dieses Problem etwas mit Kartenbefehlen zusammenhängt. Versuchen Sie, alle nacheinander zu deaktivieren. Sehen Sie, ob Sie etwas tun können.

Löschen Sie diese Zeile:

map <esc> :noh 

Dies verursacht das Problem für mich und ich weiß nicht warum. Sie können :let @/=""stattdessen tun .

Dies ist wahrscheinlich darauf zurückzuführen, dass die Pfeiltasten tatsächlich als mehrere Zeichen mit `gesendet werdenals erstes. Sie können wahrscheinlich dasselbe Ergebnis erzielen, indem Sie diese Zeile hinter die Zeile für die Pfeiltasten verschieben. Dies hängt davon ab, ob Vim nach der Ablehnung des ersten Kandidaten (dh IMO, am wahrscheinlichsten) weiter nach Übereinstimmungen sucht. Im Gegensatz dazu "`stimmt erfolgreich überein, wenn Sie eine Pfeiltaste drücken, so dass der Rest effektiv ignoriert wird. Nic Hartley vor 6 Jahren 0