Bash-VI-Tastenkombinationen: Kann ich Tasten zuordnen? Anzeigemodus (Einfügen vs. Befehl)?

Bash-VI-Tastenkombinationen: Kann ich Tasten zuordnen? Anzeigemodus (Einfügen vs. Befehl)?

Ich bin ein langjähriger vi(m)-Benutzer und bin vor Kurzem auf die Verwendung der vi-Tastenkombination in Bash umgestiegen. Ich kann bereits sagen, dass dies eine Verbesserung sein wird, aber ich möchte ein paar Dinge anpassen, um wirklich kompetent zu werden.

  1. Ich verwende derzeit die folgende Zuordnung und sie ist völlig fest verankert: map ii <esc>. Kann ich dasselbe auf der Befehlszeile tun? Es mag trivial erscheinen, aber ich bin so daran gewöhnt, einfach zweimal auf „i“ zu tippen, dass es schmerzhaft ist, ganz nach oben zur Escape-Taste zu greifen.
  2. Ich würde SEHR GERNE eine Möglichkeit finden, anzugeben, in welchem ​​Modus ich mich befinde: Einfügen oder Befehl. Dies könnte in Form einer Änderung des Cursortyps/der Cursorfarbe, einer Notiz in der Eingabeaufforderung usw. erfolgen.

Ich habe die Manpages für Bash durchgesehen und versucht, eine .inputrc-Datei zu erstellen, aber bisher habe ich nichts gefunden, was funktionieren würde. Ich sehe, dass Sie Tasten zuordnen können, aber können Sie dies für zwei Tasten tun, die in schneller Folge gedrückt werden, wie ich es tue?

Ich habe Lösungen gesehen, die angeblich mit zsh funktionieren. Ich bin nicht daran interessiert, zu zsh zu wechseln. Wenn dies mit bash nicht möglich ist, kann ich damit leben.

Antwort1

Ihre Erstanfrage ist möglich über dasSO Antwortverlinkt inpb2q'SKommentarzu deinem Beitrag.

Ihre zweite Anfrage ist nun möglich, wenn Sie Bash 4.3 und Readline 6.3 haben. Fügen Sie einfach Folgendes zu Ihrem hinzu .inputrc:

set show-mode-in-prompt on

Bei mir wird meiner Eingabeaufforderung im Einfügemodus ein „+“ vorangestellt, das sich im Befehlsmodus in ein „:“ ändert.

Quelle:diese AntwortvoneMPee584auf StackOverflow.

verwandte Informationen