2011-01-10 13 views

Odpowiedz

37

Jeśli używasz najnowszej wersji emacs można użyć:

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

Zamiast #ffffff możesz użyć dowolnego koloru, który Ci się podoba. Aby uzyskać listę kodów hex Google twierdzi: http://www.tayloredmktg.com/rgb/


Może lubisz ten ... poniższy kod zmienia kolor kursora na każdym mgnieniu. Wystarczy eval kodu, a jego funkcjonowanie:

; 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))) 
) 

Zauważ, że ten kod zastępuje funkcję Emacs 'Blink-timer-kursora funkcję' z 'frame.el'.

+2

Pamiętaj, że pierwsza sugestia tutaj dotyczy tylko bieżącej ramki. Jeśli chcesz zmienić kolor dla wszystkich nowych klatek, zmodyfikuj 'default-frame-alist' zgodnie z sugestią @TreyJackson w swojej odpowiedzi. –

8

Spróbuj tego:

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

Jeśli chcesz zachować inne wartości w default-frame-alist można nas Marka sugestia:

(add-to-list 'default-frame-alist '(cursor-color . "palegoldenrod")) 
+0

'default-frame-alist' zazwyczaj zawiera kilka konkretnych pracowników X (takich jak domyślny rozmiar ramki) już. Czy miałeś na myśli '(dodaj do listy 'default-frame-alist' (kolor kursora." Palegoldenrod "))'? –

+0

@Henry Jest to uzasadnione, chociaż 'default-frame-alist' na mojej kompilacji Emacsa wydaje się domyślnie po prostu' ((linie-paska menu .1) (linie-paska narzędzi .1)) '- które wouldn ' Trzeba tęsknić za tobą. Dostosowywanie odpowiedzi. –

1

Można to wykorzystać do dostosować kolory 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) 
+3

Należy zauważyć, że w tym przypadku nie jest konieczne opakowanie "progn" (tj. Na najwyższym poziomie funkcji). – phils

4

Jeżeli używasz X Window System, spróbuj umieścić coś takiego .Xdefaults:

*cursorColor: #ff7700 
1

Istnieje również opcja wiersza poleceń :

--cursor-color, -cr COLOR  color of the Emacs cursor indicating point 
10

Żadna z powyższych nie działała dla mnie, więc zrobiłem małe badania na własną rękę . Od EmacsWiki:

14.20 Wyświetlanie Kursor

Na terminalu tekstowym, wygląd kursora jest kontrolowany przez terminal , w dużej mierze poza kontrolą Emacs. Niektóre terminale oferują: dwa różne kursory: "widoczny" statyczny kursor i "bardzo widoczny" migający kursor . Domyślnie Emacs używa bardzo widocznego kursora, a przełącza się z nim po uruchomieniu lub wznowieniu Emacsa. Jeśli zmienna kursora widocznego jest zmienna zerowa, gdy Emacs uruchamia się lub wznawia, używa standardowego kursora .

Na wyświetlaczu graficznym można zmienić wiele właściwości kursora tekstowego na . Aby dostosować jego kolor, zmień atrybut: background atrybutu o nazwie kursor (zobacz Personalizacja twarzy). (Pozostałe atrybuty tej twarzy nie mają żadnego efektu, tekst wyświetlany pod kursorem jest rysowany przy użyciu koloru tła ramki.) Aby zmienić jego kształt, dostosuj buforowy lokalny zmienny kursor; możliwe wartości to box (domyślnie: ), pusty (pusta ramka), pasek (pionowy pasek), (pasek n) ( pionowy pasek o szerokości n pikseli), hbar (poziomy pasek), (hbar. n) (poziomy pasek o wysokości n pikseli) lub zero (bez kursora).

Aby wyłączyć migotanie kursora, zmień zmienną tryb migania kursora na nil (patrz Łatwa personalizacja) lub dodaj linię (tryb 0 przesuwania kursora) do swojego pliku init. Możesz również zmienić sposób wyświetlania kursora: , gdy "miga", dostosowując zmienną listową o migający kursor. Każdy element na liście powinien mieć postać (on-type. Off-type); oznacza to, że jeśli kursor jest wyświetlany jako włączony, gdy miga (gdzie typem jest jeden z typów kursorów opisany powyżej), to jest wyświetlany jako wyłączony, gdy miga.

Niektóre znaki, takie jak znaki tabulacji, są "bardzo szerokie". Gdy kursor znajduje się nad takim znakiem, zwykle jest on rysowany za pomocą domyślnej szerokości znaku przy użyciu . Kursor można rozciągnąć, aby pokryć szerokie znaki, zmieniając zmienny kursor x-stretch na wartość zerową.

Kursor zwykle pojawia się w niewybranych oknach jako nie mrugający pusty w środku box . (W przypadku kursora słupkowego zamiast tego pojawia się on jako cieńszy pasek.) Aby wyłączyć kursory w niewybranych oknach, zmień zmienne kursora na nie wybrane okna na zero.

Aby uczynić kursor jeszcze bardziej widocznym, można użyć trybu podrzędnego HL, trybu podrzędnego , który podświetla linię zawierającą punkt. Użyj trybu M-x hl-line, aby włączyć lub wyłączyć go w bieżącym buforze. M-x Tryb globalnej linii hl włącza lub wyłącza globalnie ten sam tryb.

Więc tutaj jest sposób, aby to zrobić: 1. M-x customize-face wprowadź 2. cursor wprowadzić 3. wybrać kolor tła ty lubić. 4. kliknij stan, zapisz dla przyszłych sesji.

ekranu tutaj:

enter image description here

enter image description here

enter image description here

enter image description here