[78b3cd61] | 1 | <sect1 id="postlfs-config-vimrc" xreflabel="/etc/vimrc, ~/.vimrc">
|
---|
[f45b1953] | 2 | <?dbhtml filename="vimrc.html" dir="postlfs"?>
|
---|
| 3 | <title>/etc/vimrc, ~/.vimrc</title>
|
---|
| 4 |
|
---|
[78b3cd61] | 5 | <para>The <acronym>LFS</acronym> book installs
|
---|
| 6 | <application>vim</application> as its editor. At this point we should
|
---|
[f45b1953] | 7 | state that there are a <emphasis>lot</emphasis> of different editors out
|
---|
[78b3cd61] | 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
|
---|
[cfc2a54] | 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>
|
---|
[f45b1953] | 33 |
|
---|
[c442d19] | 34 | <screen>" Begin .vimrc
|
---|
[f45b1953] | 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 |
|
---|
[c442d19] | 47 | " End .vimrc</screen>
|
---|
[f45b1953] | 48 |
|
---|
[78b3cd61] | 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>
|
---|
[f45b1953] | 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>
|
---|
[78b3cd61] | 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>
|
---|
[f45b1953] | 62 |
|
---|
[78b3cd61] | 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>
|
---|
[f45b1953] | 66 |
|
---|
[78b3cd61] | 67 | <listitem><para><userinput>set columns=80</userinput> : This simply sets the
|
---|
| 68 | number of columns used on the screen.</para></listitem>
|
---|
[f45b1953] | 69 |
|
---|
[78b3cd61] | 70 | <listitem><para><userinput>set background=dark</userinput> : This tells
|
---|
| 71 | <command>vim</command> to use colors which look good on a dark
|
---|
[f45b1953] | 72 | background.</para></listitem>
|
---|
| 73 |
|
---|
[78b3cd61] | 74 | <listitem><para><userinput>set tabstop=8</userinput> : The number of spaces
|
---|
| 75 | which a tabstop takes.</para></listitem>
|
---|
[f45b1953] | 76 |
|
---|
[78b3cd61] | 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>
|
---|
[f45b1953] | 80 |
|
---|
[78b3cd61] | 81 | <listitem><para><userinput>set nobk</userinput> : This stops <command>vim
|
---|
| 82 | </command> from creating a backup before overwriting a file.</para></listitem>
|
---|
[f45b1953] | 83 |
|
---|
[78b3cd61] | 84 | <listitem><para><userinput>syntax on</userinput> : Enables
|
---|
| 85 | <command>vim</command>'s syntax highlighting.</para></listitem>
|
---|
[f45b1953] | 86 |
|
---|
[78b3cd61] | 87 | <listitem><para><userinput>set ruler</userinput> : This makes <command>vim
|
---|
| 88 | </command> show the current row and column at the bottom right of
|
---|
[f45b1953] | 89 | the screen.</para></listitem>
|
---|
| 90 |
|
---|
[78b3cd61] | 91 | <listitem><para><userinput>set noexpandtab</userinput> : This makes
|
---|
| 92 | <command>vim</command> insert tabs as tab characters instead of as a set of
|
---|
[f45b1953] | 93 | spaces.</para></listitem>
|
---|
| 94 |
|
---|
| 95 | </itemizedlist>
|
---|
| 96 |
|
---|
[78b3cd61] | 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>
|
---|
[f45b1953] | 103 |
|
---|
| 104 | </sect1>
|
---|
| 105 |
|
---|