1 | <sect1 id="postlfs-config-vimrc" xreflabel="/etc/vimrc, ~/.vimrc">
|
---|
2 | <?dbhtml filename="vimrc.html" dir="postlfs"?>
|
---|
3 | <title>/etc/vimrc, ~/.vimrc</title>
|
---|
4 |
|
---|
5 | <para>The <acronym>LFS</acronym> book installs
|
---|
6 | <application>vim</application> as its editor. At this point we should
|
---|
7 | state that there are a <emphasis>lot</emphasis> of different editors out
|
---|
8 | there including <application>emacs</application>,
|
---|
9 | <application>nano</application>, <application>joe</application> and many
|
---|
10 | more. Anyone who has been around the Internet (especially usenet) for a
|
---|
11 | short time will certainly have observed at least one flame war, usually
|
---|
12 | involving <application>vim</application> and
|
---|
13 | <application>emacs</application> users!</para>
|
---|
14 |
|
---|
15 | <para>The <acronym>LFS</acronym> book gives a basic <filename>vimrc
|
---|
16 | </filename> file. Here, we attempt to enhance this file. At startup,
|
---|
17 | <command>vim</command> reads <filename>/etc/vimrc</filename> and
|
---|
18 | <filename>~/.vimrc</filename> (i.e., the global
|
---|
19 | <filename>vimrc</filename> and the user-specific one.). Note that this is
|
---|
20 | only true if you compiled <application>vim</application> using
|
---|
21 | <acronym>LFS</acronym>-3.1 onwards. Prior to this,
|
---|
22 | the global <filename>vimrc</filename> was <filename>/usr/share/vim/vimrc
|
---|
23 | </filename>.</para>
|
---|
24 |
|
---|
25 | <para>Here is a slightly expanded <filename>vimrc</filename> that you can
|
---|
26 | put in <filename>/etc/vimrc</filename> to provide global effect. Of course, if
|
---|
27 | you put it into <filename>/etc/skel/.vimrc</filename> instead, it will
|
---|
28 | be made available to users you add to the system later. You can also copy
|
---|
29 | the file from <filename>/etc/skel/.vimrc</filename> to
|
---|
30 | <filename>/etc/vimrc</filename> and the home directory of users already
|
---|
31 | on the system, like root. Be sure to set permissions, owner and group if
|
---|
32 | you do copy anything directly from <filename>/etc/skel</filename>.</para>
|
---|
33 |
|
---|
34 | <para><screen>" Begin .vimrc
|
---|
35 |
|
---|
36 | set nocompatible
|
---|
37 | set bs=2
|
---|
38 | set columns=80
|
---|
39 | set background=dark
|
---|
40 | set tabstop=8
|
---|
41 | set wrapmargin=8
|
---|
42 | set nobk
|
---|
43 | syntax on
|
---|
44 | set ruler
|
---|
45 | set noexpandtab
|
---|
46 |
|
---|
47 | " End .vimrc</screen></para>
|
---|
48 |
|
---|
49 | <para>A <acronym>FAQ</acronym> on the lfs mailing lists regards the
|
---|
50 | comment tags in <filename>vimrc</filename>. Note that they are " instead
|
---|
51 | of the more usual # or //. This is correct, the syntax for <filename>vimrc
|
---|
52 | </filename> is slightly unusual.</para>
|
---|
53 |
|
---|
54 | <para>We'll run through a quick explanation of what each of the
|
---|
55 | options in this example file means here:</para>
|
---|
56 | <itemizedlist>
|
---|
57 | <listitem><para><userinput>set nocompatible</userinput> : This option
|
---|
58 | stops <command>vim</command> from behaving in a strongly <command>vi
|
---|
59 | </command>-compatible way. It should be at the start of any <filename>vimrc
|
---|
60 | </filename> file as it can affect lots of other options which you may want to
|
---|
61 | override.</para></listitem>
|
---|
62 |
|
---|
63 | <listitem><para><userinput>set bs=2</userinput> : This influences the behavior
|
---|
64 | of the backspace option. It is fairly complex so see <userinput>:help 'bs'
|
---|
65 | </userinput> for more details.</para></listitem>
|
---|
66 |
|
---|
67 | <listitem><para><userinput>set columns=80</userinput> : This simply sets the
|
---|
68 | number of columns used on the screen.</para></listitem>
|
---|
69 |
|
---|
70 | <listitem><para><userinput>set background=dark</userinput> : This tells
|
---|
71 | <command>vim</command> to use colors which look good on a dark
|
---|
72 | background.</para></listitem>
|
---|
73 |
|
---|
74 | <listitem><para><userinput>set tabstop=8</userinput> : The number of spaces
|
---|
75 | which a tabstop takes.</para></listitem>
|
---|
76 |
|
---|
77 | <listitem><para><userinput>set wrapmargin=8</userinput> : This is the number of
|
---|
78 | characters from the right window border where wrapping starts.</para>
|
---|
79 | </listitem>
|
---|
80 |
|
---|
81 | <listitem><para><userinput>set nobk</userinput> : This stops <command>vim
|
---|
82 | </command> from creating a backup before overwriting a file.</para></listitem>
|
---|
83 |
|
---|
84 | <listitem><para><userinput>syntax on</userinput> : Enables
|
---|
85 | <command>vim</command>'s syntax highlighting.</para></listitem>
|
---|
86 |
|
---|
87 | <listitem><para><userinput>set ruler</userinput> : This makes <command>vim
|
---|
88 | </command> show the current row and column at the bottom right of
|
---|
89 | the screen.</para></listitem>
|
---|
90 |
|
---|
91 | <listitem><para><userinput>set noexpandtab</userinput> : This makes
|
---|
92 | <command>vim</command> insert tabs as tab characters instead of as a set of
|
---|
93 | spaces.</para></listitem>
|
---|
94 |
|
---|
95 | </itemizedlist>
|
---|
96 |
|
---|
97 | <para>More information on the <emphasis>many</emphasis> <command>vim</command>
|
---|
98 | options can be found by reading the help inside <command>vim</command> itself.
|
---|
99 | Do this by typing <command>:</command><userinput>help</userinput> in
|
---|
100 | <command>vim</command> to get the general help, or by typing <command>:
|
---|
101 | </command><userinput>help usr_toc.txt</userinput> to view
|
---|
102 | the User Manual Table of Contents.</para>
|
---|
103 |
|
---|
104 | </sect1>
|
---|
105 |
|
---|