状態によって邪悪なカーソルが変化する


10

今日まで、私がで通常の状態にあったときevil、カーソルはブロックであり、挿入状態になるとIビームに切り替わりました。ただし、何かが変更され、カーソルは常にIビームになります。どうすれば古い動作を取り戻すことができますか?

より一般的には、evilのさまざまな状態に応じてカーソルの外観を変更するにはどうすればよいですか?


3
余談:Danが回答で参照した変数を見つけるには、を使用するのが良い方法aproposです。ヒットC-h aapropos)、検索(「邪悪なカーソル」)を入力、ヒットRETすると、一致する関数、変数、コマンドなどのドキュメントを見つけることができます。Helmには、このための組み込みのソースもありますhelm-apropos
乳母

1
@nanny +1言及apropos。ただし、これC-h aapropos-commandデフォルトでバインドされているため、一致するコマンドのみがリストされます非インタラクティブ機能apropos-commandを検討したい場合は、そうする必要があります。コマンドが(これますコマンドと変数の両方を表示)デフォルトではキーにバインドされていません。C-u C-h aapropos
itsjeyd

@itsjeyd:おっと、それはキーバインディングの私の悪さでした。@nannyのコメントをapropos-commandto から編集しましたapropos-私がずっと前にリバウンドC-h aaproposていたのを忘れて、忘れて、それがデフォルトであると思いました。
ダン

@Dan Oh、モデレーター特権を持つことの落とし穴...;)
itsjeyd

回答:


12

この変数cursor-typeは、カーソルの外観を制御します。デフォルトtは、フレームに指定されたカーソルを使用します(オプションについては、docstringを参照してください)。カーソルのデフォルトをブロックにしたい場合は、を使用でき(setq cursor-type 'box)ます。

ただし、evilでは、さまざまな状態に対応するさまざまなカーソルが用意されています。これらを調整して、入力時に現在の状態を視覚的に確認できます。

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

docstringは、これらのそれぞれについて次のように述べています。

によるカーソルタイプ、にcursor-type渡されるカラー文字列set-cursor-color、カーソルを変更するためのゼロ引数関数、または上記のリストのいずれかです。

したがって、たとえば、挿入状態で幅5ピクセルの黄色のバーと通常の状態で紫色の塗りつぶされたボックスが必要な場合は、次のようにします。

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

cursor-typeカーソルを調整するオプションについては、docstringを参照してください。


カーソルをミニバッファーに設定する方法を知っていますか?通常モード用に構成されているため、常にとどまっているようです。
ユキ

@結城:見た目といえば、頭の上がわからない。ミニバッファーで邪悪なバインディングが必要な場合は、この投稿に関するディスカッションのリンクをクリックするか、このgithub gistを参照してください。
ダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.