emacsのハイブリッド行番号モード?


11

相対行番号モードで、「0」の代わりに現在の行の絶対番号を表示することは可能ですか?これは、「ハイブリッド行番号モード」と呼ばれることもあります。

このような:

 7                                                                                                      
  6          this.oscs[i].oscillator.start();                                                            
  5        }                                                                                             
  4                                                                                                      
  3        this.bindController();                                                                        
  2      };                                                                                              
  1                                                                                                      
252      factory.stop = function () {  <- current line number shows                                                                                       
  1        console.log('theremin: now in stop 2');                                                       
  2        this.leapController.disconnect();                                                             
  3        //this.leapController.removeListener('frame', factory.ctrlFrameHandler);                      
  4        //this.leapController.removeListener('frame', this.ctrlFrameHandler);                         
  5        this.leapController.removeListener('frame', this.leapController.listeners('frame')[0]); 

vimでの実行方法は次のとおりです。

私は悪を実行しており、次のように.emacsで相対行番号モードをアクティブにします。

(linum-mode)
(linum-relative-global-mode)

このためのパッケージ、または既存のパッケージで使用できるカスタマイズはありません。私はelispにある程度慣れているので、既存のコードをフックする方法などをアドバイスで理解することは可能かもしれませんが、可能であればそのルートに行くのは避けたいです。

どうもありがとう。


linum-relative-global-modeによって提供されevilますか?
phils '14 / 01/16

いいえ、それは標準のemacsパッケージ 'linenum-relative'の一部です。悪を実行することは、おそらくこの問題とは何の関係もありませんが、相対行番号は「viユーザー」、つまり悪を実行している人々にとって最も役立つ可能性が高いという事実を除けばです。なんらかの関連性がある場合に備えて、私はそれについて触れたいと思っていました。
vt5491

標準リポジトリにはそのようなパッケージ(または "linum-relative")はなく、デフォルトのライブラリもありません。非標準のパッケージリポジトリの1つを意味していましたか?参照している非標準ライブラリについては、常に具体的にする必要があります。
phils 2016年

github.com/coldnew/linum-relative。「標準」とは、emacsベースの一部を意味するのではなく、「標準」、たとえばmelpaでの「通常の」パッケージを意味します。そして私はそうです、私はそれを間違って綴りました-それは 'linenum-relative'ではなく 'linum-relative'です。混乱させて申し訳ありません。
vt5491

あなたが設定されている場合、ハイブリッドすることができ行番号、:FWIW、Emacsの26は、ネイティブ(高速読み出し)もたらしdisplay-line-numbersまでrelativedisplay-line-numbers-current-absoluteするt(デフォルト)。
バジル

回答:


10

linum-relative-current-symbol変数をカスタマイズすることにより、「0」の代わりに現在の行番号を表示させることができます。

この変数は、複数の方法のいずれかで変更できます。

  • MXカスタマイズグループRETリナム相対RET

    そこから、 "Linum Relative Current Symbol"変数(デフォルト値は0)をカスタマイズします。「More」リンクをクリックすると、その下に、変数の完全な説明が表示されます。

    現在の行に表示する記号。デフォルトでは0です。

    「->」のような任意の文字列を使用できます。この変数が空の文字列の場合、linum-relativeは現在の行の実際の行番号を表示します。

    したがって、その値を空の文字列に設定し、それを削除して0「適用して保存」をクリックするだけです。

  • もう1つの方法は、以下をemacs構成に追加して評価することです。

    (setq linum-relative-current-symbol "")

-1

私はspacemacsを実行しており、M-x linum-relative-modeこれを正確に実行します。

追加することもできます:

(setq-default dotspacemacs-line-numbers 'relative)

このスタイルの行番号を永続的に設定するdotspacemacs/user-config関数に.spacemacs追加します。

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