388

I can :set number from within a file I'm editing but how can I have them always be on by default?

Michael Durrant
  • 93,410
  • 97
  • 333
  • 497

9 Answers9

550

Add set number to your .vimrc file in your home directory.
If the .vimrc file is not in your home directory create one with vim .vimrc and add the commands you want at open.

Here's a site that explains the vimrc and how to use it.

Tim Pote
  • 27,191
  • 6
  • 63
  • 65
98

To change the default setting to display line numbers in vi/vim:

vi ~/.vimrc

then add the following line to the file:

set number

Either we can source ~/.vimrc or save and quit by :wq, now future vi/vim sessions will have numbering :)

Kasun Siyambalapitiya
  • 3,956
  • 8
  • 38
  • 58
abe312
  • 2,547
  • 25
  • 16
  • 1
    by sudo it will also work if folder is restricted, which is often the case. – abe312 Jan 09 '16 at 19:25
  • 9
    Yes, and you break access for the normal user which owns his home directory. This has been the cause of several bug reports and is just the wrong solution – Christian Brabandt Jan 09 '16 at 19:39
  • 7
    also why use gedit? what if it's a server? or gedit is just not installed? make more sense to use vim :) – yonatan Jun 14 '16 at 14:05
28
set nu
set ai
set tabstop=4
set ls=2
set shiftwidth=4

Add the above code to your .vimrc file. if the .vimrc file is not present please create it in your home directory (/home/name of the user)

set nu -> Displays line numbers

set ai -> Enables auto-indentation

set ls=2 -> Shows a status line

set tabstop=4 -> Sets tab of length 4 spaces (it is 8 by default)

set shiftwidth=4 -> Number of spaces to use for each step of (auto)indent. Used for |'cindent'|, |>>|, |<<|, etc. Please refer to Vim documentation here.

enter image description here

enter image description here

Giriraj Pawar
  • 411
  • 5
  • 14
16

Terminal > su > password > vim /etc/vimrc

Click here and edit as in line number (13):

set nu

click here and Edit as "Line number (13)"

muru
  • 4,723
  • 1
  • 34
  • 78
sagar mahajan
  • 349
  • 3
  • 2
10

If you don't want to add/edit .vimrc, you can start with

vi "+set number" /path/to/file
Chris H.
  • 99
  • 1
  • 5
8

I did not have a .vimrc file in my home directory. I created one, added this line:

set number

and that solved the problem.

F. Hauri - Give Up GitHub
  • 64,122
  • 17
  • 116
  • 137
Jean
  • 81
  • 1
  • 1
2

in home directory you will find a file called ".vimrc" in that file add this code "set nu" and save and exit and open new vi file and you will find line numbers on that.

2

I'm using Debian 7 64-bit.

I didn't have a .vimrc file in my home folder. I created one and was able to set user defaults for vim.

However, for Debian 7, another way is to edit /etc/vim/vimrc

Here is a comment block in that file:

" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below.  If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed.  It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
Kyle s
  • 484
  • 5
  • 14
0

Add any command you want to have by default to your ~/.vimrc file (named _vimrc on Windows systems)

Miguel Ruiz
  • 408
  • 1
  • 6
  • 13