13

emacs --daemon.xinitrcまたはそれ以降)実行してから を実行するとemacsclient -c、colortheme やその他の設定に関係なく、新しく作成されたフレームのカーソルの色が黒くなります。より正確には、何かを入力する前は、カーソルの色は白 (または他の色) ですが、最初にキーを押すと黒になり、set-cursor-color. デフォルトの色テーマとカスタムの色テーマはどちらも黒なので、編集が非常に不快です。

代わりにemacsandを実行すると、この問題は発生しません。しかし、この方法では、1 つの emacs の「メイン」フレームを維持し、偶発的にそれを強制終了しないようにする必要があります。これは良い解決策とは思えません。M-x server-startemacs --daemon

次のブロック.emacs.d/init.elがありますが、役に立ちません:

(set-cursor-color "red")
(setq initial-frame-alist '((cursor-color . "red")))
(setq default-frame-alist '((cursor-color . "red")))
(add-hook 'window-setup-hook '(lambda () (set-cursor-color "red")))
(add-hook 'after-make-frame-functions '(lambda (f) (with-selected-frame f (set-cursor-color "red"))))

実行すると、次のようM-x describe-face RET cursorになります。

(...)
Defined in `faces.el'.

        Family: unspecified
       Foundry: unspecified
         Width: unspecified
        Height: unspecified
        Weight: unspecified
         Slant: unspecified
    Foreground: unspecified
    Background: black
     Underline: unspecified
      Overline: unspecified
Strike-through: unspecified
           Box: unspecified
       Inverse: unspecified
       Stipple: unspecified
          Font: unspecified
       Fontset: unspecified
       Inherit: unspecified
4

5 に答える 5

7

最近の Emacsen では、フレーム プロパティを使用してカーソルの色を設定する方法は推奨されていないと思います。したがって、または/を使用する代わりに、次のことを試してください。set-cursor-colorinitial-frame-alistdefault-frame-alist

(set-face-background 'cursor "red")

多分:

(set-face-attribute 'cursor nil :background "red"`)
于 2011-11-20T20:38:43.037 に答える
5

ぶははは!あなたはすべて EVIL emacs ユーザーなので、過去 2 年間、誰も解決策を投稿していないと思います。

正直に言うと、私は現在自分自身で悪モードを試していて、自分のシステムでこの問題を解決したところです。これを .emacs ファイルに入れてスモークします:

'(evil-default-cursor (quote (t "white")))

bitbucket の Evil リポジトリに対してバグを開いたところです。

私自身、emacs に習熟するのに 6 年ほどかかった後、マルチキー コードが私の腱に負担をかけていることに気付きました。Evil-mode により、emacs を再び使用できるようになる可能性があります。これは良いことです。ベネディクトが (関数型プログラミングの文脈で) 言うように、「仕事を成し遂げるには、しばしば何らかの悪が必要です。」 それは Emacs にも当てはまるようです。

PS 誰にとっても、この回答は単にDH0であるか、未熟で不適切であると感じているため、Emacs と VI ユーザーの間の主に冗談めかした確執は何年もの間激怒してきました。Emacs には独自のChurch of Emacsがあり、VI にはビデオ ゲームWorld War VIがあります。そのため、Emacs への最も成功した VI キーバインディングのポートが、evil-mode (evil には VI という単語が含まれています) と名付けられたのは当然のことです。私は両方のエディターが好きで、最終的に VI のキーバインドを emacs 内で機能させた邪悪な開発者を称賛します。

于 2013-10-11T14:57:15.710 に答える
5

わかりました..この問題は、追加することで解決できます

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

以前は問題にならなかった理由はわかりませんが。

このフォーラムのスレッドを参照してください。

于 2014-12-31T17:39:52.700 に答える
1

これは私のために働いた:

(setq evil-default-cursor t) ;; Now evil takes the default cursors 
(set-cursor-color "white") ;; Set it to white
(set-mouse-color "white") ;; Same
于 2014-01-15T11:11:25.230 に答える
0

私も何年もの間、まったく同じ問題を抱えています。

私の場合、私は:

M-x
set-cursor-color
"white"<ENTER>

それは私にとってはうまくいきますが、毎回これを行う必要があります..

私の古い職場に戻って、私はこれを解決しましたが、私は以前の職場で持っていたinit.elを持っていません.今、私はこれをもう一度理解する必要があります.うまくいけば、ここの誰かが私の前にこれを理解するでしょう. .

于 2013-07-09T01:21:26.990 に答える