Es scheint, als würde ctrl+ Wein Wort nach dem anderen rückwärts löschen. Das ist großartig, aber ich würde wirklich sehr gerne, dass dies mit ctrl+ backspacewie den meisten anderen Apps funktioniert .
Was ist der beste Weg, dies zu tun? Ich würde die Änderung benötigen, um Gnome-Terminal-Befehle, Befehlszeilen-Vim und GUI-Vim zu beeinflussen.
command-line
gnome-terminal
vim
gvim
Costa
quelle
quelle
Antworten:
Beachten Sie, dass dies im Terminal und im Standard-Emacs-Modus funktioniert (den Sie verwenden, wenn Ctrl+ Wdas vorherige Wort für Sie löscht). Es funktioniert nicht im vi-Modus von bash und hat keinen Einfluss auf vi / vim. Dies ist daher nur eine teilweise Antwort, aber das Beste, was dieser Emacs-Benutzer bieten kann.
Diese Art von Dingen wird von der
readline
Bibliothek verwaltet, deren Verhalten über gesteuert werden kann~/.inputrc
. Bearbeiten (oder erstellen, falls nicht vorhanden)~/.inputrc
und fügen Sie diese Zeile hinzu:Öffnen Sie jetzt ein neues Terminal und es sollte funktionieren.
Erläuterung
Das
\C-H
ist eigentlich Control+ BackSpace. Sie können die Schlüsselcodes anzeigen, indem Sie Ctrl+ und Vdann die Taste drücken , nach der Sie suchen . Sie werden sehen, dass BackSpacezurückkehrt^H
.Jetzt sollte es möglich sein, Control+ BackSpacean die Bash-Funktion zu binden , die das vorherige Wort (
backward-kill-word
oderunix-word-rubout
) mit löscht"\C-H": backward-kill-word
. Ich kann das jedoch nicht zum Laufen bringen. Es funktioniert perfekt mit verschiedenen Tasten ("\C-E": backward-kill-word
z. B. macht Ctrl+ Elöscht das vorherige Wort), aber aus irgendeinem Grund kann ich es nicht zum Laufen bringen BackSpace.So, wie dieses Problem zu umgehen, bilden wir nur Ctrl+ Backspacezu Ctrl+ W, die bereits zugeordnet ist
backward-kill-word
. Wenn Sie also Ctrl+ drücken Backspace, wird dies in Ctrl+ übersetzt, Wdas wiederum gesendet wirdbackward-kill-word
. Die Idee für diese Problemumgehung habe ich in diesem SU-Beitrag erhalten .quelle
Bis vor kurzem hat gnome-terminal den gleichen Code für Backspaceund Ctrl+ Backspaceausgegeben, daher können Sie die beiden in Ihrer Anwendung nicht unterscheiden.
Dies wurde in vte-0.42 behoben, das Teil von Gnome 3.18 ist, das diesen Herbst veröffentlicht wurde.
Wenn Sie Wily verwenden, finden Sie aktualisierte Pakete in Gnome3 Staging .
quelle
Verwenden Sie stattdessen Alt+ Backspace: Es funktioniert genau wie Ctrl+ Backspaceund erfordert keine Konfiguration.
quelle
Es funktioniert auf meiner Maschine. Stellen Sie einfach sicher, dass Sie tmux von master und nvim von linuxbrew verwenden und control + backspace auch in bash und vim funktioniert!
(Holen Sie sich Bash auch von Linuxbrew)
quelle