Die Pfeiltasten geben, auch wenn sie in vimrc deaktiviert sind, ABCD ein und wechseln dann in den Einfügemodus. Warum?

1

Wenn ich die Pfeiltasten drücke, vimerhalte ich das in diesem GIF gezeigte Verhalten .

Ich möchte nur hjklzum Navigieren verwenden. Jedes Mal, wenn ich die Pfeiltasten drücke (hoch, runter, links oder rechts), soll es mir eine der hjklTasten mitteilen . Wenn ich zum Beispiel die Aufwärtspfeiltaste drücke, möchte ich, dass es sagt: Use kund mich nicht in den Einfügemodus versetze oder tippe A.


Ich habe meiner .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 ) keine Kompatibilität eingestellt .

Ich vim-plugverwalte meine vim Plugins mit.

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/
Nicholas Adamou
quelle
Bitte erklären Sie das Verhalten, das Sie bekommen. Ohne zu wissen, was Sie eingegeben haben, ist es schwierig, Ihr GIF zu verstehen. (Und vielleicht möchten Sie es noch einmal aufnehmen, um den zweiten Teil (nach dem vimStart) langsamer zu machen (mehr Zeit zwischen den Tastenanschlägen), damit Sie besser sehen können, was passiert.) Bitte antworten Sie nicht in Kommentaren. Bearbeiten Sie Ihre Frage, um sie klarer und vollständiger zu gestalten.
G-Man
@ G-Man Wenn das Aerscheint ist es, weil ich denup arrow
Nicholas Adamou
@ G-Man Und ja, du hast Recht. Sollte leichter zu verstehen sein.
Nicholas Adamou
@ G-Man Ich habe das Gif mit Keycastr
Nicholas Adamou am
Aus Neugier ... warum?
Nic Hartley

Antworten:

0

Nach stundenlanger Arbeit. Ich denke ich habe das mal gefunden, zumindest für mich. Wenn das bei dir nicht funktioniert, bin ich mir sicher, dass dieses Problem etwas mit Kartenbefehlen zu tun hat. Versuchen Sie, alle nacheinander zu deaktivieren. Sehen Sie, ob Sie etwas tun können.

Diese Zeile löschen:

map <esc> :noh

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

Kutsan Kaplan
quelle
Dies ist wahrscheinlich, weil die Pfeiltasten tatsächlich als mehrere Zeichen gesendet werden, wobei <esc>als erstes. Sie könnten wahrscheinlich dasselbe Ergebnis erzielen, wenn Sie diese Zeile nach die Pfeiltasten verschieben, je nachdem, ob Vim nach der Ablehnung seines ersten Kandidaten (der wahrscheinlichsten, IMO) weiterhin nach Übereinstimmungen sucht. Im Gegensatz dazu wird eine <esc>erfolgreiche Übereinstimmung erzielt, wenn Sie eine Pfeiltaste drücken, sodass der Rest effektiv ignoriert wird.
Nic Hartley