Il cursore del male cambia in base allo stato


10

Fino ad oggi, quando ero nello stato normale evil, il cursore era un blocco e passava a una trave I quando si trovava nello stato di inserimento. Qualcosa è cambiato, tuttavia, e il cursore ora è sempre il raggio I. Come posso recuperare il vecchio comportamento?

Più in generale, come posso cambiare l'aspetto del cursore in base ai evildiversi stati?


3
A parte: un buon modo per trovare le variabili a cui Dan fa riferimento nella sua risposta è usare apropos. Si può colpire C-h a( apropos), digitare una ricerca ( "cursore del male"), e ha colpito RETper trovare la documentazione relativa a ogni corrispondenza funzioni, le variabili, i comandi, ecc timone ha un built-in fonte per questo pure: helm-apropos.
tata

1
@nanny +1 per la menzione apropos. Si noti, tuttavia, che C-h aè associato per apropos-commandimpostazione predefinita, che elencherà solo i comandi corrispondenti . Se vuoi apropos-commandprendere in considerazione funzioni non interattive , dovrai farlo C-u C-h a. Il aproposcomando (che si visualizza sia i comandi e variabili) non è collegata ad un tasto di default.
È il

@itsjeyd: whoops, questo è stato il mio male sul keybinding. Ho modificato @ commento di tata da apropos-commandal apropos- scopre ho avuto rimbalzo C-h aa aproposmolto tempo fa, ha dimenticato, e pensato che fosse il default.
Dan

@Dan Oh, le insidie ​​di avere i privilegi di moderatore ...;)
itsjeyd

Risposte:


12

La variabile cursor-typecontrolla il modo in cui l'aspetto del cursore, per impostazione predefinita t, utilizza il cursore specificato per il frame (vedere la documentazione per le opzioni). Se desideri che il cursore sia impostato automaticamente su un blocco, puoi farlo (setq cursor-type 'box).

Tuttavia, evilfornisce una serie di cursori diversi per i diversi stati, che puoi regolare per darti un promemoria visivo dello stato in cui ti trovi durante la digitazione:

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

Il docstring afferma che ciascuno di questi:

Può essere un tipo di cursore come da cursor-type, una stringa di colore come passata a set-cursor-color, una funzione di argomento zero per cambiare il cursore o un elenco di quanto sopra.

Quindi, ad esempio, se si desidera una barra gialla larga 5 pixel nello stato di inserimento e una casella piena di viola nello stato normale, è possibile effettuare le seguenti operazioni:

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

Vedi la documentazione cursor-typeper le tue opzioni nella regolazione del cursore.


Sai per caso come configurare il cursore per il minibuffer? Sembra che rimanga sempre come è configurato per la modalità normale.
Yuki,

@Yuki: se intendi l'apparenza, non lo so dalla cima della mia testa. Se vuoi attacchi malvagi nel minibuffer, segui i link nella discussione su questo post e / o dai un'occhiata a questo github gist .
Dan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.