数値と相対数を同時に設定するにはどうすればよいですか?


7

番号相対番号の両方が役立つと思います。両方を同時に表示する方法はありますか?


3
使用する以外set number relativenumber
VanLaser、2015

これは、絶対数ではなく、相対数のみを示しています。
Nathan Fellman、2015

1
別のマシンでは、現在の行の絶対数とすべての相対数のみが表示されます。私はそれらの両方を同時に欲しがっています
Nathan Fellman

OPは、数値列に相対数と絶対数を同時に表示するオプションが必要だと思います。私の知る限り、それは不可能です。
EvergreenTree

はい、それは(キリスト教-brabandt @によって答えのように)追加プラグインを使用することにより可能です-を参照してstackoverflow.com/a/16624418
Orangenhain

回答:


6

すべての行番号と相対番号を同時に表示することはできません。しかし、現在の行番号と他のすべての相対番号を取得できます。から:help number_relativenumber

The 'relativenumber' option changes the displayed number to be
relative to the cursor.  Together with 'number' there are these
four combinations (cursor in line 3):

    'nonu'          'nu'            'nonu'          'nu'
    'nornu'         'nornu'         'rnu'           'rnu'

    |apple          |  1 apple      |  2 apple      |  2 apple
    |pear           |  2 pear       |  1 pear       |  1 pear
    |nobody         |  3 nobody     |  0 nobody     |3   nobody
    |there          |  4 there      |  1 there      |  1 there

これに関する推論は、vim-devメーリンググループに関するこのディスカッションにあります。これには、同様のreddit質問へのリンクが含まれています。現在の行に絶対番号を使用した相対番号付け


4

で言及されているもの以外に、数値と相対番号の両方を同時に表示することは実際には不可能です:h number_relativenumber(別の回答を参照)。

ただし、余白の列を誤用して余分な数を表示することができます。たとえば、私のDynamicSignsプラグインを使用して、number列のほかにrelativenumber列を描画させることができます。それを機能させるには、次のようにします。

 :SignExpression CustomSignExpression(v:lnum, 1)
 :let &nuw=&nuw+1
 :set nu

:h SignExpressionCustomSignExpression関数の定義については、ヘルプを参照してください(1は、相対番号をすべての行に描画することを意味し、5を使用して5行ごとにのみ描画します)。'numberwidth'設定(:let &nuw=&nuw+1パーツ)を増やすと、ガター列と数値列の間に余分なスペースができます。

ただし、移動するたびに標識を再作成する必要があるため、スクロールするとvimがかなり遅くなります。

この例を参照してください。 ここに画像の説明を入力してください

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