フリンジ/ライン番号とバッファの間のセパレータ線を機能させる方法はありますか?


7

行番号/フリンジ用の分割バッファー(画像の中央の行)のようなセパレーターを取得する方法はありますか?

私は試しました(setq linenum-format "%4d \u2502 ")が、幅が異なるバグのある奇妙な破線が表示されます-.-

分割線

回答:


3

これを行うにはいくつかの方法があります-私の好ましい方法はフリンジのフレームのデフォルトを設定することです:

(set-face-attribute 'fringe nil :background "red")
(add-to-list 'default-frame-alist '(left-fringe . 11))
(add-to-list 'default-frame-alist '(right-fringe . 0))

ウィンドウのフリンジをグローバルに設定することが可能です:

(setq-default left-fringe-width 11)
(setq-default right-fringe-width 0)

ウィンドウのフリンジをローカルに設定することもできます。

(setq left-fringe-width 11)
(setq right-fringe-width 0)

left-fringe-widthandのdoc-stringはright-fringe-width次のとおりです。

Automatically becomes buffer-local when set.

Documentation:
Width of this buffer's left/right fringe (in pixels).
A value of 0 means no left/right fringe is shown in this buffer's window.
A value of nil means to use the left/right fringe width from the window's frame.

Setting this variable does not take effect until a new buffer is displayed
in a window.  To make the change take effect, call `set-window-buffer'.

例


私が間違っている場合は修正してください。ただし、フリンジの背景色のみが変更され、フリンジとバッファの間に区切り線が追加されません。
nemesit

提案されたコードは、フリンジの厚さと色を制御する方法を提供します。または、フリンジを完全に削除できます。スクリーンショットには、私が使用するカスタムクロスヘアモードの無関係な垂直線が含まれています。ただし、これはこの回答のフリンジ変更例の範囲を超えています。ここでコメントは余分な縦線が容易に達成されていないことを示す関連する質問へのリンクは次のとおりです。 stackoverflow.com/q/25760235/2112489
lawlist

フリンジとライン番号の両方を保持したいので、フリンジの厚さを変更することは、私が探していたものとまったく同じではありません。emacsがバッファー間の行を簡単に表示できるのは奇妙ですが、行番号とフリンジを分離するために1行を追加することは不可能な作業のようです。
宿敵

0

行番号の列とコードを区別する方法も私は望んでいます。これが私のやり方です。

(set-face-attribute 'line-number nil :background "gray96" :foreground "gray42")
(set-face-attribute 'line-number-current-line nil :foreground "gray6")

これはこれのスクリーンショットです... ... spacemacsのルーベンテーマ

faces.elファイルで見つけることができる他のオプションがあります。

質問には答えませんが、根本的な問題を解決してくれます。これは、vimがよく行う方法でもあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.