Der böse Cursor ändert sich je nach Status

10

Bis heute, als ich mich im Normalzustand befand evil, war der Cursor ein Block und wechselte im Einfügezustand zu einem I-Strahl. Es hat sich jedoch etwas geändert, und der Cursor ist jetzt immer der I-Strahl. Wie kann ich das alte Verhalten zurückbekommen?

Wie ändere ich allgemein das Erscheinungsbild des Cursors entsprechend den evilverschiedenen Zuständen?

Ryan
quelle
3
Nebenbei: Ein guter Weg, um die Variablen zu finden, auf die Dan in seiner Antwort verwiesen hat, ist die Verwendung apropos. Sie können drücken C-h a( apropos), eine Suche RETeingeben ("böser Cursor") und drücken , um die Dokumentation aller übereinstimmenden Funktionen, Variablen, Befehle usw. zu finden. Helm hat auch hierfür eine integrierte Quelle : helm-apropos.
Kindermädchen
1
@nanny +1 für die Erwähnung apropos. Beachten Sie jedoch, dass dies standardmäßig C-h agebunden ist und apropos-commandnur übereinstimmende Befehle auflistet . Wenn Sie nicht interaktive Funktionenapropos-command berücksichtigen möchten , müssen Sie dies tun . Der Befehl (das wird sowohl Befehle und Variablen zeigen) ist nicht auf einen Schlüssel standardmäßig gebunden. C-u C-h aapropos
Itsjeyd
@itsjeyd: whoops, das war mein schlechtes an der Tastenkombination. I edited @ Nanny-Kommentar von apropos-commandzu apropos- Umdrehungen I Rebound hatten C-h azu aproposlange her, vergessen und übernahm es der Standard war.
Dan
@ Dan Oh, die Fallstricke von Moderatorprivilegien ...;)
itsjeyd

Antworten:

12

Die Variable cursor-typesteuert tstandardmäßig das Erscheinungsbild des Cursors, der den für den Frame angegebenen Cursor verwendet (Optionen finden Sie in der Dokumentzeichenfolge). Wenn der Cursor standardmäßig auf einen Block gesetzt werden soll, können Sie dies tun (setq cursor-type 'box).

Allerdings evilbietet eine Reihe von verschiedenen Cursor für die verschiedenen Zustände, die Sie anpassen können Sie eine visuelle Erinnerung an geben , was Zustand du bist in , wenn Sie schreiben:

  • evil-normal-state-cursor
  • evil-insert-state-cursor
  • evil-visual-state-cursor
  • evil-motion-state-cursor
  • evil-replace-state-cursor
  • evil-operator-state-cursor

Die Dokumentzeichenfolge gibt an, dass jede dieser:

Kann ein Cursortyp gemäß cursor-type, eine Farbzeichenfolge wie übergeben set-cursor-color, eine Nullargumentfunktion zum Ändern des Cursors oder eine Liste der oben genannten sein.

Wenn Sie beispielsweise einen gelben Balken mit einer Breite von 5 Pixel im Einfügezustand und ein mit Purpur gefülltes Feld im Normalzustand wünschen, können Sie Folgendes tun:

(setq evil-insert-state-cursor '((bar . 5) "yellow")
      evil-normal-state-cursor '(box "purple"))

In der Dokumentzeichenfolge finden Sie cursor-typeIhre Optionen zum Anpassen des Cursors.

Dan
quelle
Wissen Sie zufällig, wie Sie den Cursor für den Minibuffer konfigurieren? Es scheint, als würde es immer so bleiben, wie es für den normalen Modus konfiguriert ist.
Yuki
@ Yuki: Wenn du das Aussehen meinst, weiß ich es nicht auf den ersten Blick. Wenn Sie böse Bindungen im Minibuffer haben möchten, folgen Sie den Links in der Diskussion zu diesem Beitrag und / oder werfen Sie einen Blick auf diesen Github-Kern .
Dan