The LFS book installs vim as its editor. At this point we should state that there are a lot of different editors out there including emacs, nano, joe and many more. Anyone who has been around the Internet (especially usenet) for a short time will certainly have observed at least one flame war, usually involving vim and emacs users!
The LFS book gives a basic vimrc file. Here, we attempt to enhance this file. At startup, vim reads /etc/vimrc and ~/.vimrc (i.e., the global vimrc and the user-specific one.). Note that this is only true if you compiled vim using LFS-3.1 onwards. Prior to this, the global vimrc was /usr/share/vim/vimrc .
Here is a slightly expanded vimrc that you can put in /etc/vimrc to provide global effect. Of course, if you put it into /etc/skel/.vimrc instead, it will be made available to users you add to the system later. You can also copy the file from /etc/skel/.vimrc to /etc/vimrc and the home directory of users already on the system, like root. Be sure to set permissions, owner and group if you do copy anything directly from /etc/skel.
" Begin .vimrc set nocompatible set bs=2 set columns=80 set background=dark set wrapmargin=8 syntax on set ruler " End .vimrc
A FAQ on the lfs mailing lists regards the comment tags in vimrc. Note that they are " instead of the more usual # or //. This is correct, the syntax for vimrc is slightly unusual.
We'll run through a quick explanation of what each of the options in this example file means here:
set nocompatible : This option stops vim from behaving in a strongly vi -compatible way. It should be at the start of any vimrc file as it can affect lots of other options which you may want to override.
set bs=2: This influences the behavior of the backspace option. It is fairly complex so see :help 'bs' for more details.
set columns=80: This simply sets the number of columns used on the screen.
set background=dark: This tells vim to use colors which look good on a dark background.
set wrapmargin=8: This is the number of characters from the right window border where wrapping starts.
syntax on: Enables vim's syntax highlighting.
set ruler: This makes vim show the current row and column at the bottom right of the screen.
More information on the many vim options can be found by reading the help inside vim itself. Do this by typing :help in vim to get the general help, or by typing : help usr_toc.txt to view the User Manual Table of Contents.