Changement de curseur mal par état

10

Jusqu'à aujourd'hui, lorsque j'étais dans l'état normal evil, le curseur était un bloc, et il basculait sur un faisceau en I lorsqu'il était à l'état d'insertion. Quelque chose a changé, cependant, et le curseur est désormais toujours le faisceau en I. Comment récupérer l'ancien comportement?

Plus généralement, comment modifier l'apparence du curseur en fonction evildes différents états?

Ryan
la source
3
Un côté: Une bonne façon de trouver les variables référencées par Dan dans sa réponse est d'utiliser apropos. Vous pouvez frapper C-h a( apropos), tapez une recherche ( « curseur de mal »), et appuyez sur RETpour trouver la documentation de toutes les fonctions correspondantes, variables, commandes, etc. Helm a une source intégrée pour cela aussi: helm-apropos.
nounou
1
@nanny +1 pour avoir mentionné apropos. Notez cependant que cela C-h aest lié apropos-commandpar défaut, qui ne listera que les commandes correspondantes . Si vous souhaitez apropos-commandenvisager des fonctions non interactives , vous devrez le faire C-u C-h a. La aproposcommande (qui va afficher les commandes et variables) n'est pas lié à une clé par défaut.
itsjeyd
@itsjeyd: whoops, c'était ma faute sur le raccourci clavier. J'ai édité le commentaire de @ nanny de apropos-commandà apropos- il s'avère que j'avais rebondi il C-h ay aproposa longtemps, j'ai oublié et j'ai supposé que c'était la valeur par défaut.
Dan
@Dan Oh, les pièges d'avoir des privilèges de modérateur ...;)
itsjeyd

Réponses:

12

La variable cursor-typecontrôle la façon dont l'apparence du curseur, par défaut t, utilise le curseur spécifié pour le cadre (voir la docstring pour les options). Si vous souhaitez que le curseur par défaut soit un bloc, vous pouvez (setq cursor-type 'box).

Cependant, evilfournit un certain nombre de curseurs différents pour les différents états, que vous pouvez ajuster pour vous donner un rappel visuel de l'état dans lequel vous vous trouvez lorsque vous tapez:

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

Le docstring déclare que chacun d'eux:

Peut être un type de curseur selon cursor-type, une chaîne de couleur transmise à set-cursor-color, une fonction zéro-argument pour changer le curseur ou une liste des éléments ci-dessus.

Ainsi, par exemple, si vous vouliez une barre jaune de 5 pixels de large en état d'insertion et une boîte remplie de violet en état normal, vous pouvez procéder comme suit:

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

Voir la docstring pour cursor-typevos options de réglage du curseur.

Dan
la source
Savez-vous par hasard comment configurer le curseur pour le mini-tampon? Il semble qu'il reste toujours tel qu'il est configuré pour le mode normal.
Yuki
@Yuki: si tu veux dire l'apparence, je ne sais pas du haut de ma tête. Si vous voulez des liaisons malfaisantes dans le mini-tampon, suivez les liens dans la discussion sur ce post et / ou jetez un œil à ce github gistub .
Dan