ターミナルで行の強調表示を無効にする

私は現時点ではemacs行のハイライトを使っていますが、私はemacsのGUI版で自分の仕事をするときに便利だと分かりました。しかし、私はターミナルでの作業中にそのようなモードを持つことは不快であると感じています。ハイライトの色は現在の行を編集することをほとんど不可能にします。

このモードをグローバルに有効にする私の .emacs ファイルの行は、(global-hl-line-mode t)です。

My question is: is there a way to disable hl-line-mode only in terminal? I'm using xfce4-terminal and guake.

3

1 答え

ハイライトモードを有効にするには、ウィンドウシステムでコマンドをラップすることによって、guiバージョンのemacsでのみコマンドをラップします。

ウィンドウシステム変数の値は、端末の場合はnilです。

(ウィンドウシステム(global-hl-line-mode t)の場合)

Reference https://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Systems.html

注: window-system ではなく display-graphic-p を使用してください。詳細については、Drewのコメントを参照してください。

1
追加された
FWIW:Emacs Devは、 window-system ではなく display-graphic-p を使用することを一般的に推奨しています。理由を教えてもらえません。 Elispマニュアル、ノード機能テストの表示
追加された 著者 Ryan Eastabrook,
@ threaz:古い window-system は元のemacsフレームのウィンドウシステムがあるかどうかを示す単一の変数であるからです。 display-graphic-p は、特定のフレームがグラフィカルであるかどうかを示す関数です。 emacs-client/serverでは、実際には、グラフィックとテキストのみの両方のディスプレイ上にフレームを持つことができます。
追加された 著者 Michael Bar-Sinai,
君たちありがとう。 (display-graphic-p)(角括弧付き)ではなく window-system (角括弧なし)を使用しなければならない理由は、それにもかかわらず、両方のソリューションは正常に動作するようです。
追加された 著者 Stuart Grimshaw,
@ドリューありがとう。私はそれに応じて私の答えを更新します。
追加された 著者 Kim,