Wie erhalte ich Strg-Backspace ein Wort in vim innerhalb gnome-terminal löschen?
-
01-10-2019 - |
Frage
möchte ich Ctrl-Rück das aktuelle Wort in vim Insert-Modus zu löschen. Von innerhalb xterm Ich kann diese abziehen über
:inoremap <C-H> <C-W>
aber in gnome-terminal Ich kann nicht einen Weg finden, um sie geschehen.
Wenn in vim Insert-Modus, wenn ich die Kontrolle-V-Typ und drücken Sie dann Backspace, ich ^ H in xterm und ^? in Gnom-terminal. Leider
:inoremap <C-?> <C-W>
nicht tut den Trick in gnome-terminal; Steuer-Backspace löscht nur ein einzelnes Zeichen, egal was.
In Bezug auf ASCII-Codes:
Gnome-Terminal können Sie die Rück Charakter unter Bearbeiten ändern -> Profileinstellungen -> Kompatibilität. Leider keine Option funktioniert, soweit ich sagen kann: etwas Charakter, den ich auf der Rücktaste über die Einstellungen zu übernehmen, wenn ich das Zeichen selbst versuchen abbildet, wie
:inoremap <C-H> <C-W>
dann regelmäßig Backspace und Steuerungs Backspace beide löschen ein ganzes Wort; und wenn ich versuche, Mapping Kontrolle und das Zeichen, wie
:inoremap <C-^H> <C-W>
dann regelmäßig Backspace und Steuerungs Backspace nur ein einzelnes Zeichen zu löschen.
Lösung
gnome-terminal des libvte müssten ausgebessert werden.
libvte hat bereits mehrere Optionen Backspace abzubilden, von denen keine Ctrl-Backspace unterscheiden. Es braucht eine Option, die tut, vielleicht eine, die das Verhalten der Linux-Konsole folgt (^? Für Backspace, ^ H für Ctrl-Backspace). Siehe dieser Gnom bug .
2015 Update:. Dies wurde behoben in 23c7cd0f99d504cbab06d4c27254d4f3e2807ba8
libvte 0.41.90, 0.40.3 und neuer haben die Lösung.