comment changer la couleur du curseur sur emacs

J'ai fait quelques changements dans les couleurs D'Emacs et la seule chose qui ne va pas maintenant est le curseur qui est noir sur fond noir et je vais devoir changer cela. Que dois-je faire?

29
demandé sur Robert Harvey 2011-01-10 03:42:47

6 réponses

Si vous utilisez une version récente d'emacs, vous pouvez utiliser:

; Set cursor color to white
(set-cursor-color "#ffffff") 

au Lieu de #ffffff vous pouvez utiliser n'importe quelle couleur que vous aimez. Pour une liste de codes hexadécimaux, google dit:http://www.tayloredmktg.com/rgb/


Peut-être que vous aimez celui-ci... le code suivant change la couleur du curseur sur chaque blink. Juste eval code et de son fonctionnement:

; Using in Emacs 24.0 

(defvar blink-cursor-colors (list  "#92c48f" "#6785c5" "#be369c" "#d9ca65")
  "On each blink the cursor will cycle to the next color in this list.")

(setq blink-cursor-count 0)
(defun blink-cursor-timer-function ()
  "Zarza wrote this cyberpunk variant of timer `blink-cursor-timer'. 
Warning: overwrites original version in `frame.el'.

This one changes the cursor color on each blink. Define colors in `blink-cursor-colors'."
  (when (not (internal-show-cursor-p))
    (when (>= blink-cursor-count (length blink-cursor-colors))
      (setq blink-cursor-count 0))
    (set-cursor-color (nth blink-cursor-count blink-cursor-colors))
    (setq blink-cursor-count (+ 1 blink-cursor-count))
    )
  (internal-show-cursor nil (not (internal-show-cursor-p)))
  )

Notez que ce code remplace la fonction emacs 'clignotement du curseur de minuteur fonction' de 'image.el'.

39
répondu Zarza 2011-02-08 12:23:06

aucune des réponses ci-dessus n'a fonctionné pour moi, donc j'ai fait une petite recherche moi-même. De EmacsWiki:

14.20 Affichage du Curseur

Sur un terminal texte, l'apparence du curseur est contrôlée par le terminal, largement hors de contrôle D'Emacs. Certains terminaux offrent deux curseurs différents: un "visible" curseur statique, et un "très visible" le curseur qui clignote. Par défaut, Emacs utilise le curseur visible, et bascule vers elle lorsque vous démarrez ou reprenez Emacs. Si la variable visible-le curseur est nul quand Emacs démarre ou reprend, il utilise la normale curseur.

sur un écran graphique, beaucoup plus de propriétés du curseur texte peuvent être modifier. Pour personnaliser sa couleur, changez l'attribut: background de le visage nommé curseur (voir Personnalisation du visage). (Les autres attributs de cette face n'ont pas d'effet; le texte affiché sous le curseur est tiré en utilisant la couleur de fond du cadre.) Afin de modifier sa forme, personnaliser le buffer - local variable curseur-type; les valeurs possibles sont box (the par défaut), creux (la boîte creuse), la barre (la barre verticale), (la barre . n) (a barre verticale n pixels de large), hbar (une barre horizontale), (hbar . n) (a barre horizontale n pixels de haut), ou nul (pas de curseur du tout).

pour désactiver le clignotement du curseur, changez la variable blink-cursor-mode en nil (voir Personnalisation facile), ou ajouter la ligne (blink-curseur-mode 0) à votre fichier d'initialisation. Vous pouvez aussi changer l'apparence du curseur quand il "cligne des yeux" en personnalisant la variable list clignotement du curseur-accédez à la liste. Chaque élément de la liste doit avoir la forme (sur-type . hors-type), ce qui signifie que si le curseur est affiché comme sur-type lorsqu'il clignote (ou sur-type est l'un des types de curseur décrit ci-dessus), il est affiché comme hors-type, quand il clignote.

certains caractères, comme les caractères tab, sont"extra large". Lorsque l' le curseur est positionné sur un tel caractère, il est normalement tiré avec le caractère par défaut de la largeur. Vous pouvez faire étirer le curseur pour couvrir des caractères larges, en changeant la variable X-stretch-curseur en non-valeur nil.

le curseur apparaît normalement dans les fenêtres non sélectionnées comme un non clignotant creux de la boîte. (Pour un curseur de barre, il apparaît plutôt comme une barre plus mince.) Pour désactiver les curseurs dans les fenêtres non sélectionnées, changez la variable curseur-de-non-sélectionné-windows à néant.

Pour le curseur encore plus visible, vous pouvez utiliser HL Le mode en ligne, un mode mineur qui met en évidence la ligne contenant le point. Utiliser M-x HL-mode ligne pour l'activer ou le désactiver dans le tampon courant. M-x mondial-hl-ligne-mode active ou désactive le même mode dans le monde.

Donc, voici la façon de le faire: 1. M-x customize-face, entrez 2. cursor entrée 3. choisissez la couleur de fond que vous aimez. 4. cliquez sur l'etat, sauf pour les sessions futures.

Captures d'écran ici:

enter image description here

enter image description here

enter image description here

enter image description here

13
répondu qed 2018-09-14 14:18:00

essaye ceci:

(setq default-frame-alist
  '((cursor-color . "palegoldenrod")))

si vous voulez préserver les autres valeurs dans

(add-to-list 'default-frame-alist '(cursor-color . "palegoldenrod"))
9
répondu Trey Jackson 2011-08-08 16:59:56

si vous utilisez X window system, essayez de mettre quelque chose comme ça à .Xdefaults:

*cursorColor: #ff7700
5
répondu modular 2011-09-26 18:08:22

Vous pouvez l'utiliser pour personnaliser les couleurs d'emacs:

(defun good-colors ()
  (progn
     ;; Set cursor color
     (set-cursor-color "Black")

     (set-background-color "grey46")
     (set-foreground-color "White")
     (set-border-color "dark orange")
     (set-mouse-color "dark orange") 
))

(good-colors)
1
répondu 0xAX 2011-02-08 12:36:41

Il y a aussi une option de ligne de commande:

--cursor-color, -cr COLOR       color of the Emacs cursor indicating point
1
répondu patrick.kasarski 2014-01-08 18:54:50