Gibt es im bash -o vi-Modus eine Möglichkeit, dass die Eingabeaufforderung den normalen / Befehlsmodus anzeigt?

8

Ich benutze den vi Modus in bash die ganze Zeit. Es wäre wirklich nützlich, visuell zu sehen, ob ich im Befehlsmodus oder im Einfügemodus bin.

Wenn ich zum Beispiel den Verlauf durchsuchen möchte, wird /my_search in jedem Modus gleich aussehen, bis ich Enter drücke, und dann ist es zu spät. Ich finde, dass ich Esc viel mehr als nötig drücke, um sicherzugehen, dass ich im richtigen Modus bin.

    
pixelearth 22.06.2015, 16:44
quelle

2 Antworten

2

Sie können dies in der Datei .inputrc konfigurieren, die readline verwendet.

%Vor%

Für mich zeichnet dies ein + als erstes Zeichen im Einfügemodus, ein : im normalen Modus und kein Zeichen im Suchmodus.

(Sie können den vi-Modus hier auch mit set editing-mode vi aktivieren, wodurch er für alle Programme aktiviert wird, die readline verwenden, wie zB die Python- und Ruby-Interpreter statt nur bash).

    
Ismail Badawi 22.06.2015 21:56
quelle
1

Ich bin mir nicht sicher, ob Sie das in der Eingabeaufforderung selbst tun können, aber ich denke, dass ein Cursorform- / Farbindikator mindestens so nützlich ist .

Das folgende Setup gibt einen quadratischen, grünen Blockcursor im normalen Modus und einen dünnen, flachen, grauen Unterstreichungscursor im Einfügemodus . Es mag einen Weg geben, es in bash zu machen, aber ich habe es in Zsh funktioniert, also werde ich das teilen. Es ist zufällig in URxvt, sollte aber auch in xterm funktionieren. In ~/.zshrc :

%Vor%

Ressourcen: Ссылка UND Ссылка

EDIT: Ich habe einen umfassenden Leitfaden veröffentlicht Dies funktioniert in einer Kombination aus vim, zsh, tmux und urxvt.

    
Micah Elliott 22.06.2015 20:17
quelle

Tags und Links