source: chapter06/vim.xml@ e54882e

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since e54882e was e54882e, checked in by Bruce Dubbs <bdubbs@…>, 16 years ago

Updated symbolic link creation loop for vi.1 man pages

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8716 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 11.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-vim" role="wrap">
9 <?dbhtml filename="vim.html"?>
10
11 <sect1info condition="script">
12 <productname>vim</productname>
13 <productnumber>&vim-version;</productnumber>
14 <address>&vim-url;<otheraddr>&vim-lang-url;</otheraddr></address>
15 </sect1info>
16
17 <title>Vim-&vim-version;</title>
18
19 <indexterm zone="ch-system-vim">
20 <primary sortas="a-Vim">Vim</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Vim package contains a powerful text editor.</para>
27
28 <segmentedlist>
29 <segtitle>&buildtime;</segtitle>
30 <segtitle>&diskspace;</segtitle>
31
32 <seglistitem>
33 <seg>&vim-ch6-sbu;</seg>
34 <seg>&vim-ch6-du;</seg>
35 </seglistitem>
36 </segmentedlist>
37
38 <tip>
39 <title>Alternatives to Vim</title>
40
41 <para>If you prefer another editor&mdash;such as Emacs, Joe, or
42 Nano&mdash;please refer to <ulink
43 url="&blfs-root;view/svn/postlfs/editors.html"/> for suggested
44 installation instructions.</para>
45 </tip>
46
47 </sect2>
48
49 <sect2 role="installation">
50 <title>Installation of Vim</title>
51
52 <para>First, unpack both
53 <filename>vim-&vim-version;.tar.bz2</filename> and (optionally)
54 <filename>vim-&vim-version;-lang.tar.gz</filename> archives into the
55 same directory.</para>
56
57 <para>Apply a patch which fixes various issues already found and fixed by
58 the upstream maintainers since the inital release of Vim-&vim-version;:
59 </para>
60
61<screen><userinput remap="pre">patch -Np1 -i ../&vim-fixes-patch;</userinput></screen>
62
63 <para>This version of Vim installs translated man pages and places
64 them into directories that will not be searched by Man-DB. Patch Vim
65 so that it installs its man pages into searchable directories and
66 ultimately allows Man-DB to transcode the page into the desired format
67 at run-time:</para>
68
69<screen><userinput remap="pre">patch -Np1 -i ../&vim-mandir-patch;</userinput></screen>
70
71 <para>Change the default location of the
72 <filename>vimrc</filename> configuration file to <filename
73 class="directory">/etc</filename>:</para>
74
75<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
76
77 <para>Now prepare Vim for compilation:</para>
78
79<screen><userinput remap="configure">./configure --prefix=/usr --enable-multibyte</userinput></screen>
80
81 <variablelist>
82 <title>The meaning of the configure options:</title>
83
84 <varlistentry>
85 <term><parameter>--enable-multibyte</parameter></term>
86 <listitem>
87 <para>This switch enables support for editing files in multibyte
88 character encodings. This is needed if using a locale with a
89 multibyte character set. This switch is also helpful to be able
90 to edit text files initially created in Linux distributions like
91 Fedora Core that use UTF-8 as a default character set.</para>
92 </listitem>
93 </varlistentry>
94
95 </variablelist>
96
97 <para>Compile the package:</para>
98
99<screen><userinput remap="make">make</userinput></screen>
100
101 <para>To test the results, issue:</para>
102
103<screen><userinput remap="test">make test</userinput></screen>
104
105 <para>However, this test suite outputs a lot of binary data to the screen,
106 which can cause issues with the settings of the current terminal. This can
107 be resolved by redirecting the output to a log file.</para>
108
109 <para>Install the package:</para>
110
111<screen><userinput remap="install">make install</userinput></screen>
112
113 <para>Many users are used to using <command>vi</command> instead of
114 <command>vim</command>. To allow execution of <command>vim</command>
115 when users habitually enter <command>vi</command>, create a
116 symlink for both the binary and the man page in the provided
117 languages:</para>
118
119<screen><userinput remap="install">ln -sv vim /usr/bin/vi
120for L in /usr/share/man/{,*/}man1/vim.1; do
121 ln -sv vim.1 $(dirname $L)/vi.1
122done</userinput></screen>
123
124 <para>By default, Vim's documentation is installed in <filename
125 class="directory">/usr/share/vim</filename>. The following symlink
126 allows the documentation to be accessed via <filename
127 class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
128 it consistent with the location of documentation for other packages:</para>
129
130<screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
131
132 <para>If an X Window System is going to be installed on the LFS
133 system, it may be necessary to recompile Vim after installing X. Vim
134 comes with a GUI version of the editor that requires X and some
135 additional libraries to be installed. For more information on this
136 process, refer to the Vim documentation and the Vim installation page
137 in the BLFS book at <ulink
138 url="&blfs-root;view/svn/postlfs/editors.html#postlfs-editors-vim"/>.</para>
139
140 </sect2>
141
142 <sect2 id="conf-vim" role="configuration">
143 <title>Configuring Vim</title>
144
145 <indexterm zone="conf-vim">
146 <primary sortas="e-/etc/vimrc">/etc/vimrc</primary>
147 </indexterm>
148
149 <para>By default, <command>vim</command> runs in vi-incompatible mode.
150 This may be new to users who have used other editors in the past. The
151 <quote>nocompatible</quote> setting is included below to highlight the
152 fact that a new behavior is being used. It also reminds those who would
153 change to <quote>compatible</quote> mode that it should be the first
154 setting in the configuration file. This is necessary because it changes
155 other settings, and overrides must come after this setting. Create a default
156 <command>vim</command> configuration file by running the following:</para>
157
158<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"
159<literal>" Begin /etc/vimrc
160
161set nocompatible
162set backspace=2
163syntax on
164if (&amp;term == "iterm") || (&amp;term == "putty")
165 set background=dark
166endif
167
168" End /etc/vimrc</literal>
169EOF</userinput></screen>
170
171 <para>The <parameter>set nocompatible</parameter> setting makes
172 <command>vim</command> behave in a more useful way (the default) than
173 the vi-compatible manner. Remove the <quote>no</quote> to keep the
174 old <command>vi</command> behavior. The <parameter>set
175 backspace=2</parameter> setting allows backspacing over line breaks,
176 autoindents, and the start of insert. The <parameter>syntax
177 on</parameter> parameter enables vim's syntax highlighting. Finally,
178 the <emphasis>if</emphasis> statement with the <parameter>set
179 background=dark</parameter> setting corrects <command>vim</command>'s
180 guess about the background color of some terminal emulators. This
181 gives the highlighting a better color scheme for use on the black
182 background of these programs.</para>
183
184 <para>Documentation for other available options can be obtained by
185 running the following command:</para>
186
187<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
188
189 <note>
190 <para>By default, Vim only installs spell files for the English language.
191 To install spell files for your preferred language, download the
192 <filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
193 files for your language and character encoding from <ulink
194 url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save them to
195 <filename class='directory'>/usr/share/&vim-docdir;/spell/</filename>.</para>
196
197 <para>To use these spell files, some configuration in
198 <filename>/etc/vimrc</filename> is needed, e.g.:</para>
199
200<screen><literal>set spelllang=en,ru
201set spell</literal></screen>
202
203 <para>For more information, see the appropriate README file located
204 at the URL above.</para>
205 </note>
206
207 </sect2>
208
209 <sect2 id="contents-vim" role="content">
210 <title>Contents of Vim</title>
211
212 <segmentedlist>
213 <segtitle>Installed programs</segtitle>
214
215 <seglistitem>
216 <seg>ex (link to vim), rview (link to vim), rvim (link to vim),
217 vi (link to vim), view (link to vim), vim,
218 vimdiff (link to vim), vimtutor, and xxd</seg>
219 </seglistitem>
220 </segmentedlist>
221
222 <variablelist>
223 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
224 <?dbfo list-presentation="list"?>
225 <?dbhtml list-presentation="table"?>
226
227 <varlistentry id="ex">
228 <term><command>ex</command></term>
229 <listitem>
230 <para>Starts <command>vim</command> in ex mode</para>
231 <indexterm zone="ch-system-vim ex">
232 <primary sortas="b-ex">ex</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry id="rview">
238 <term><command>rview</command></term>
239 <listitem>
240 <para>Is a restricted version of <command>view</command>; no shell
241 commands can be started and <command>view</command> cannot be
242 suspended</para>
243 <indexterm zone="ch-system-vim rview">
244 <primary sortas="b-rview">rview</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
249 <varlistentry id="rvim">
250 <term><command>rvim</command></term>
251 <listitem>
252 <para>Is a restricted version of <command>vim</command>; no shell
253 commands can be started and <command>vim</command> cannot be
254 suspended</para>
255 <indexterm zone="ch-system-vim rvim">
256 <primary sortas="b-rvim">rvim</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="vi">
262 <term><command>vi</command></term>
263 <listitem>
264 <para>Link to <command>vim</command></para>
265 <indexterm zone="ch-system-vim vi">
266 <primary sortas="b-vi">vi</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="view">
272 <term><command>view</command></term>
273 <listitem>
274 <para>Starts <command>vim</command> in read-only mode</para>
275 <indexterm zone="ch-system-vim view">
276 <primary sortas="b-view">view</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 <varlistentry id="vim">
282 <term><command>vim</command></term>
283 <listitem>
284 <para>Is the editor</para>
285 <indexterm zone="ch-system-vim vim">
286 <primary sortas="b-vim">vim</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
291 <varlistentry id="vimdiff">
292 <term><command>vimdiff</command></term>
293 <listitem>
294 <para>Edits two or three versions of a file with <command>vim</command>
295 and show differences</para>
296 <indexterm zone="ch-system-vim vimdiff">
297 <primary sortas="b-vimdiff">vimdiff</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="vimtutor">
303 <term><command>vimtutor</command></term>
304 <listitem>
305 <para>Teaches the basic keys and commands of
306 <command>vim</command></para>
307 <indexterm zone="ch-system-vim vimtutor">
308 <primary sortas="b-vimtutor">vimtutor</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="xxd">
314 <term><command>xxd</command></term>
315 <listitem>
316 <para>Creates a hex dump of the given file; it can
317 also do the reverse, so it can be used for binary patching</para>
318 <indexterm zone="ch-system-vim xxd">
319 <primary sortas="b-xxd">xxd</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 </variablelist>
325
326 </sect2>
327
328</sect1>
Note: See TracBrowser for help on using the repository browser.