I'm trying to find a way to show relative line numbers as well as absolute line numbers, but not the way hybrid line numbers does it.

I want to see both at all times, probably each displayed on a column. Is this possible?

  • 3
    No, it's not possible
    – klaus
    Apr 11 '19 at 0:10
  • Why not? I'm new to vim, so forgive me if I'm missing something super obvious, but if plugins such as Airline and Lightline can write a whole line to the bottom of the buffer, why wouldn't another plugin be able to write a (few) column(s) on the left?
    – Bruno Ely
    Apr 11 '19 at 0:27
  • 2
    Airline or Lightline make clever use of the Vim option statusline (`:help 'statusline'). They don't draw the line by them self, it is drawn by Vim. There is no such option or other api for line numbers.
    – Ralf
    Apr 11 '19 at 4:21
  • Just to remind you, there is no other editor that I know of that provides you two line number columns. Most people I know don't even use line numbers in vim, period. But that's opinion based talks. For your answers, you can add line numbers directly to your buffer and remove them prior to and re-add them after writing the buffer to disk. OR you can just enter the diff mode for the current buffer and enable :set nu in one window while enabling :set rnu in another. Then just resize the windows. But all this is really ridiculous solution to a problem which in itself is ridiculous.
    – klaus
    Apr 15 '19 at 6:06
  • 1
    @klaus I use vscode and have vim emulation plugin. I have two columns, one with absolute line numbers and the other with relative line numbers. In relative line numbers column, I also have hybrid line number for the line I am currently on. Its best of 3 worlds. Only sad thing is this doesnt work in raw vim or other ide like intellij(with vim emulation plugins) May 22 '20 at 20:25

Take a look at this answer. You can use RltvNmbr to display the relative line numbers while Vim displays the absolute ones.


There is no way to have both absolute and relative numbers being displayed by Vim.

What you can do however, is to (ab)use the sign feature and display the relative numbers there. Note, since the sign column is limited to 2 characters, it won't work on very long windows with more than 100 lines.

There are a couple of plugins that enable it. The already mentioned RltvNmbr.vim from Dr. Chip, which was used to enable relative line numbering before that feature was available in Vim natively (around Vim 7.3 I believe). An alternative is to use my plugin DynamicSigns. This allows to flexible define what kind of signs will be drawn and when. Have a look at the example from this answer

Also, the sign column needs to be updated very often, which might impose a performance penalty. My DynamicSigns plugin tries to update the sign column as often as needed, but it might still be noticeable, if you scroll a lot. There is not much that can be done against it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.