私のemacsフレームを2つの並んでいるウィンドウに分割し始めましたが、カーソルが現在どのウィンドウにあるのかが一目でわかりません。別のウィンドウコマンドを特殊キーにまとめたので、このキーを押すのは簡単です。別のウィンドウに切り替えた直後にカーソルを3回点滅させる方法はありますか?それとも、人々はより良い解決策を考えましたか?
答え1
私はemacsに現在の行を強調表示させるのが役に立つと思います。マイナーモードhlラインモードこの方法。現在のバッファで有効にできます。MX hl-line-mode
、またはemacs設定でグローバルに:
(global-hl-line-mode 1)
見てEmacswiki:現在の行を強調表示。また、あなたにもっと興味深いかもしれない他のマイナーモードも言及します。
編集する:
私がwikiを検索して発見したのは十字線モード。私はこれを自分で試してみると思いました。
(crosshairs-mode 1)
(setq col-highlight-vline-face-flag t
col-highlight-face hl-line-face)
編集2:
私は地平線が好きですが、続く垂直線が気を散らすと思います。幸いなことに、フラッシュ機能とアイドルモードcrosshairs
も提供されています。flash-crosshairs
toggle-crosshairs-when-idle
アイドル状態のときに十字線を表示するために、構成には次のものがあります。
(require 'crosshairs)
(toggle-crosshairs-when-idle 1)
(setq col-highlight-vline-face-flag t
col-highlight-face hl-line-face)
ただし、これはバッファ/ウィンドウスイッチでは点滅しません。残念ながらフックはありません。しかし、少なくともemacs lispは私たちにコンサルティング機能、これにより既存の機能を拡張できます。これは非常にトリッキーかもしれません。
バッファ切り替え後、十字線が点滅します。
(defadvice switch-to-buffer (after switch-to-buffer-flash-crosshairs activate)
"Call `flash-crosshairs' after `switch-to-buffer'"
(flash-crosshairs))
これはほとんどの場合機能します(変換が完了したわけではありませんswitch-to-buffer
)。
ミニバッファ(開いたファイルなど)がいくつかの問題を引き起こすため、ウィンドウの切り替えはより困難です。したがって、点滅は他のバッファに切り替えたときにのみ発生します。
(defadvice select-window (around select-window-flash-crosshairs activate)
"Call `flash-crosshairs' after `select-window', if switching to another buffer.
The check is necessary to prevent issues with mini-buffer switching."
(let (cons (cur-buffer-name (buffer-name (current-buffer)))
ad-arg-bindings)
ad-do-it
(unless (string= (buffer-name (window-buffer window))
cur-buffer-name)
(flash-crosshairs))))
ad-arg-bindings
提案された関数の引数であり、ad-do-it
元の関数を実行します。
提案を無効にするには、次のようにします。
(ad-remove-advice 'select-window 'around 'select-window-flash-crosshairs)
(ad-remove-advice 'switch-to-buffer 'after 'switch-to-buffer-flash-crosshairs)
私が言ったように、アドバイスを提供するのは難しいですが、これがほとんどの場合に当てはまると思います。
答え2
Emacsという古いEmacsパッケージを探していましたが、e-other-window
オンライン検索中にこの質問を見つけました。結局のところ、私は以前のコンピュータに戻って再び見つけなければならなかったので、ちょうどGithubにアップロードしてみんなと共有しました(私ができる最高のバックアップでした)。
https://github.com/N-Mi/e-other-window
e-other-window.el --- ウィンドウに変更するとウィンドウが点滅します。
これは、キーバインディングを使用してあるウィンドウから別のウィンドウに切り替えたときに現在のウィンドウを点滅させるKevin A. Burtonの便利な小さなEmacsパッケージです。
結合するhlラインモード、2、3、4つのウィンドウフレームでカーソルがどこにあるかを簡単に見つけることができます。