Sasha Koss
Sasha Koss

Reputation: 16396

How do I increase the spacing of the line number margin in vim?

I have a problem with my colorscheme in vim:

alt text
(source: tinygrab.com)

The line numbers are too close to the code. How I can increase the width of the line numbers' right margin?

Upvotes: 37

Views: 23785

Answers (6)

McRae Imaging
McRae Imaging

Reputation: 21

Add the following line to you init.vim file.

autocmd VimEnter * :%left 5

Upvotes: 2

Michael
Michael

Reputation: 113

Here is solution 2 (ref to how to change the left margin in gvim)

Solution 1 (like %left 5 )just adds 'spaces' into the code area. I guess it does the same done by the threadstarter ...but it does not the answer the original question.

Solution 2: foldcolumn does the trick (foldcolumn is the column left from the linenumbers) In exec mode :set foldcolumn=12 If you want to change the color too (like in the ref) hi FoldColumn guibg=#003f3f (in the ref its FoldColumns, thats wrong).

Upvotes: 1

Michael
Michael

Reputation: 113

%left 5 in the vim terminal (% whole document, left distance code to linenrs, 0-infinity distance in monospace (= number of columns))

Upvotes: 2

Einar Lielmanis
Einar Lielmanis

Reputation: 347

https://github.com/vim/vim/blob/master/src/screen.c#L2220

Looking at the code, it turns to be impossible (without patching the vim, obviously): vim always formats the line numbers to take up the whole available width, leaving just a single space afterwards (the "%*ld " format specifier in the code makes sure of that).

Upvotes: 16

Bill Odom
Bill Odom

Reputation: 4203

This bothered me, too; I hate having text crammed up against a block of solid color. It makes me claustrophobic.

Here's what I did as a workaround (in MacVim, but I expect the same technique will work elsewhere):

In your preferred colorscheme, set the background color of the line-number column to be the same as the background color for normal text, and the line-number foreground color to something low-contrast and unobtrusive (so it doesn't look like it's part of your normal text). I use white-on-black for normal text, and dark-grey-on-black for the line numbers:

hi LineNr  guifg=#505050   guibg=Black
hi Normal  guifg=White     guibg=Black

Admittedly, this doesn't fix the problem so much as hide it, but it's worked well for me.

Upvotes: 20

Jeet
Jeet

Reputation: 39837

You can add the following line in your "~/.vimrc":

set nuw=6

Where "6" specfies the width of the column in terms of number of characters. Replace with a smaller or large number as needed. Only works with more recent (>=7?) versions of Vim, I think.

Upvotes: 15

Related Questions