Wie kann ich gleichzeitig Nummer und Relativnummer einstellen?

7

Ich finde sowohl Nummer als auch Relativnummer nützlich. Gibt es eine Möglichkeit, beide gleichzeitig anzuzeigen?

Nathan Fellman
quelle
3
Anders als mit set number relativenumber?
VanLaser
Das zeigt mir nur die relative Zahl, nicht die absolute.
Nathan Fellman
1
Auf einem anderen Computer zeigt es mir nur die absolute Nummer der aktuellen Zeile und alle relativen Nummern. Ich möchte sie beide gleichzeitig
Nathan Fellman
Ich denke, das OP möchte die Option, relative Zahlen und absolute Zahlen gleichzeitig in der Zahlenspalte anzuzeigen. AFAIK, das ist nicht möglich.
EvergreenTree
Ja, es ist möglich, zusätzliche Plugins zu verwenden (wie in der Antwort von @ christian-brabandt) - siehe stackoverflow.com/a/16624418
Orangenhain

Antworten:

6

Es ist nicht möglich, alle Zeilennummern und relativen Nummern gleichzeitig anzuzeigen. Sie können jedoch die aktuelle Zeilennummer und die relative Nummer für alle anderen abrufen. Von :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

Die Gründe hierfür finden Sie in dieser Diskussion über die vim-dev-Mailinggruppe , die einen Link zu einer ähnlichen reddit-Frage enthält: Relative Nummerierung mit absoluter Nummer in der aktuellen Zeile .

mMontu
quelle
4

Es ist nicht wirklich möglich, dass sowohl Nummer als auch Relativnummer gleichzeitig angezeigt werden, abgesehen von dem, was unter erwähnt wird :h number_relativenumber(siehe unterschiedliche Antwort).

Sie können die Rinnenspalte jedoch missbrauchen, um zusätzliche Nummern anzuzeigen. Sie können beispielsweise mein DynamicSigns- Plugin verwenden und die Relativzahlspalte neben der Zahlenspalte zeichnen lassen. Damit das funktioniert, machen Sie so etwas:

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

In der Hilfe finden Sie :h SignExpressionInformationen zur Definition der CustomSignExpression-Funktion (1 bedeutet, dass Sie zum Zeichnen der Relativzahl in jeder Zeile nur 5 zum Zeichnen in jeder fünften Zeile verwenden). Durch Erhöhen der 'numberwidth'Einstellung (des :let &nuw=&nuw+1Teils) wird lediglich sichergestellt, dass zwischen der Rinnenspalte und der Zahlenspalte ein zusätzlicher Abstand vorhanden ist.

Beachten Sie jedoch, dass dies das Scrollen beim Scrollen erheblich verlangsamt, da die Zeichen bei jeder Bewegung neu erstellt werden müssen.

Siehe dieses Beispiel. Geben Sie hier die Bildbeschreibung ein

Christian Brabandt
quelle