Cambio de cursor malvado por estado

10

Hasta hoy, cuando estaba en el estado normal evil, el cursor era un bloque, y cambiaría a un haz I cuando estaba en estado de inserción. Sin embargo, algo cambió y el cursor ahora es siempre el rayo I. ¿Cómo puedo recuperar el viejo comportamiento?

En términos más generales, ¿cómo cambio la apariencia del cursor según evillos diferentes estados?

Ryan
fuente
3
Un aparte: Una buena manera de encontrar las variables Dan se le haga referencia en su respuesta está en uso apropos. Usted puede golpear C-h a( apropos), escriba una búsqueda ( "mal de cursor"), y pulsa RETpara encontrar la documentación de cualquier coincidentes funciones, variables, comandos, etc. timón tiene un sistema incorporado en la fuente para esto también: helm-apropos.
niñera
1
@nanny +1 por mencionarlo apropos. Sin embargo, C-h atenga en cuenta que está vinculado apropos-commandde forma predeterminada, que solo enumerará los comandos coincidentes . Si desea apropos-commandconsiderar funciones no interactivas , deberá hacerlo C-u C-h a. El aproposcomando (que se muestran ambos comandos y variables) no está vinculado a una clave por defecto.
itsjeyd
@itsjeyd: whoops, esa fue mi mala combinación de teclas. Me editado @ comentario de niñera desde apropos-commandque apropos- resulta que tenían rebote C-h ade aproposhace mucho tiempo, se olvidó, y asumió que era el valor por defecto.
Dan
@Dan Oh, las trampas de tener privilegios de moderador ...;)
itsjeyd

Respuestas:

12

La variable cursor-typecontrola cómo la apariencia del cursor, por defecto t, que utiliza el cursor especificado para el marco (consulte la cadena de documentación para ver las opciones). Si desea que el cursor tenga un bloque predeterminado, puede hacerlo (setq cursor-type 'box).

Sin embargo, evilproporciona varios cursores diferentes para los diferentes estados, que puede ajustar para que le recuerde visualmente en qué estado se encuentra cuando está escribiendo:

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

La cadena de documentación indica que cada uno de estos:

Puede ser un tipo de cursor según cursor-type, una cadena de color que se pasa set-cursor-color, una función de argumento cero para cambiar el cursor o una lista de los anteriores.

Entonces, por ejemplo, si desea una barra amarilla de 5 píxeles de ancho en estado de inserción y un cuadro lleno de púrpura en estado normal, puede hacer lo siguiente:

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

Consulte la cadena de documentos cursor-typepara conocer sus opciones para ajustar el cursor.

Dan
fuente
¿Sabes por casualidad cómo configurar el cursor para minibúfer? Parece que siempre permanece como está configurado para el modo normal.
Yuki el
@ Yuki: si te refieres a la apariencia, no lo sé de la cabeza. Si desea enlaces malvados en el minibúfer, siga los enlaces en la discusión de esta publicación y / o eche un vistazo a esta esencia de Github .
Dan