开发者

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

开发者 https://www.devze.com 2022-12-24 17:16 出处:网络
I have a problem with my colorscheme in vim: (source: tinygrab.com) The line numbers are too close to the code. How I can increase th开发者_JS百科e width of the line numbers\' right margin?This bot

I have a problem with my colorscheme in vim:

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

(source: tinygrab.com)

The line numbers are too close to the code. How I can increase th开发者_JS百科e width of the line numbers' right margin?


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.


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).


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.


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


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).


Add the following line to you init.vim file.

autocmd VimEnter * :%left 5
0

精彩评论

暂无评论...
验证码 换一张
取 消