source: postlfs/editors/vim.xml@ 6a63267c

11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 6a63267c was 6a63267c, checked in by Xi Ruoyao <xry111@…>, 2 years ago

update to vim-8.2.5014. Sync with LFS.

  • Property mode set to 100644
File size: 15.4 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 <!-- only for initial releases of a new version
8 <!ENTITY vim-download-http "http://ftp.vim.org/vim/unix/vim-&vim-version;.tar.bz2">-->
9 <!ENTITY vim-download-http "&sources-anduin-http;/vim/vim-&vim-version;.tar.xz">
10 <!ENTITY vim-download-ftp " ">
11 <!ENTITY vim-md5sum "5b27e59fa53b74611422af6fa4149957">
12 <!ENTITY vim-size "10 MB">
13 <!ENTITY vim-buildsize "112 MB (add 61 MB for tests)">
14 <!ENTITY vim-time "0.3 SBU (with parallelism=4; add 2.2 SBU for tests)">
15]>
16
17<sect1 id="vim" xreflabel="Vim-&vim-version;">
18 <?dbhtml filename="vim.html"?>
19
20 <sect1info>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Vim-&vim-version;</title>
25
26 <indexterm zone="vim">
27 <primary sortas="a-Vim">Vim</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Vim</title>
32
33 <para>
34 The <application>Vim</application> package, which is an
35 abbreviation for VI IMproved, contains a <command>vi</command>
36 clone with extra features as compared to the original
37 <command>vi</command>.
38 </para>
39
40 <para>
41 The default LFS instructions install <application>vim</application>
42 as a part of the base system. If you would prefer to link
43 <application>vim</application> against <application>X</application>,
44 you should recompile <application>vim</application> to enable GUI mode.
45 There is no need for special instructions since
46 <application>X</application> support is automatically detected.
47 </para>
48
49 <note>
50 <para>
51 The version of vim changes daily. To get the latest
52 version, go to <ulink url="https://github.com/vim/vim/releases">
53 https://github.com/vim/vim/releases</ulink>.
54 </para>
55 </note>
56
57 &lfs111_checked;
58
59 <bridgehead renderas="sect3">Package Information</bridgehead>
60 <itemizedlist spacing="compact">
61 <listitem>
62 <para>
63 Download (HTTP): <ulink url="&vim-download-http;"/>
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Download (FTP): <ulink url="&vim-download-ftp;"/>
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Download MD5 sum: &vim-md5sum;
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 Download size: &vim-size;
79 </para>
80 </listitem>
81 <listitem>
82 <para>
83 Estimated disk space required: &vim-buildsize;
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Estimated build time: &vim-time;
89 </para>
90 </listitem>
91 </itemizedlist>
92
93 <bridgehead renderas="sect3">Vim Dependencies</bridgehead>
94
95 <bridgehead renderas="sect4">Recommended</bridgehead>
96 <para role="recommended">
97 <xref linkend="x-window-system"/> and
98 <xref linkend="gtk3"/>
99 </para>
100
101 <bridgehead renderas="sect4">Optional</bridgehead>
102 <para role="optional">
103 <xref linkend="gpm"/>,
104 <xref linkend="lua"/>,
105<!-- can use python3: don't advertise python2
106 <xref linkend="python2"/>,
107--> <xref linkend="rsync"/>, and
108 <xref linkend="ruby"/>
109 </para>
110
111 <para condition="html" role="usernotes">User Notes:
112 <ulink url="&blfs-wiki;/vim"/></para>
113
114 </sect2>
115
116 <sect2 role="installation">
117 <title>Installation of Vim</title>
118
119 <note>
120 <para>
121 If you recompile <application>Vim</application> to link against
122 <application>X</application> and your <application>X</application>
123 libraries are not on the root partition, you will no longer have an
124 editor for use in emergencies. You may choose to install an additional
125 editor, not link <application>Vim</application> against
126 <application>X</application>, or move the current <command>vim</command>
127 executable to the <filename class="directory">/bin</filename> directory
128 under a different name such as <filename>vi</filename>.
129 </para>
130 </note>
131<!--
132 <para>
133 First, if you are building the Lua interpreter for VIM, adapt it to an
134 API change in lua-5.4.0:
135 </para>
136
137<screen><userinput remap="pre">sed -i '461 s/static int/int/' src/if_lua.c</userinput></screen>
138-->
139 <para>
140 Install <application>Vim</application> by running the following
141 commands:
142 </para>
143
144 <note>
145 <para>
146 If you intend to run the tests and have not installed Xorg in /usr,
147 append LDFLAGS='-L$XORG_PREFIX/lib' to the configure line below.
148 </para>
149 </note>
150
151<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h &amp;&amp;
152echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h &amp;&amp;
153
154./configure --prefix=/usr \
155 --with-features=huge \
156 --enable-gui=gtk3 \
157 --with-tlib=ncursesw &amp;&amp;
158make</userinput></screen>
159
160 <note>
161 <para>
162 If the global configuration file <filename>/etc/vimrc</filename>
163 references the <envar>VIMRUNTIME</envar> environment variable, some
164 tests may complain about being unable to find the corresponding
165 directory and wait for user input. If this is the case, this file
166 should be saved and removed before running the tests.
167 </para>
168 </note>
169
170 <para>
171 To test the results, issue: <command>make -j1 test</command>.
172 Even if one of the tests fails to produce the file
173 <filename>test.out</filename> in <filename
174 class="directory">src/testdir</filename>, the remaining tests will
175 still be executed. If all goes well, the log will report
176 <literal>ALL DONE</literal>. Some tests labelled as
177 <quote>flaky</quote> may fail occasionally and can be ignored.
178 The tests are known to fail if the output is redirected to a file,
179 and also if they are run in a 'screen' session.
180 </para>
181
182 <note>
183 <para>
184 Some color tests expect to be executed under the
185 <command>xterm</command> terminal emulator.
186 </para>
187 </note>
188
189 <para>
190 Now, as the <systemitem class="username">root</systemitem> user:
191 </para>
192
193<screen role="root"><userinput>make install</userinput></screen>
194
195 <para>
196 By default, Vim's documentation is installed in <filename
197 class="directory">/usr/share/vim</filename>. The following symlink allows
198 the documentation to be accessed via <filename
199 class="directory">/usr/share/doc/vim-&vim-version;</filename>, making it
200 consistent with the location of documentation for other packages:
201 </para>
202
203<!-- When updating, be sure to change the vim-majmin entity for the
204 proper 'vimxx' unpacked directory -->
205
206<screen role="root"><userinput>ln -snfv ../vim/vim&vim-majmin;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
207
208 <para>
209 If you wish to update the runtime files, issue the
210 following command (requires <xref linkend="rsync"/>):
211 </para>
212
213<screen><userinput>rsync -avzcP --exclude="/dos/" --exclude="/spell/" \
214 ftp.nluug.nl::Vim/runtime/ ./runtime/</userinput></screen>
215
216 <para>
217 To install the runtime files and regenerate the
218 <filename>tags</filename> file, as the
219 <systemitem class="username">root</systemitem> user issue:
220 </para>
221
222<screen role="root"><userinput>make -C src installruntime &amp;&amp;
223vim -c ":helptags /usr/share/doc/vim-&vim-version;" -c ":q"</userinput></screen>
224
225 </sect2>
226
227 <sect2 role="commands">
228 <title>Command Explanations</title>
229
230 <para>
231 <parameter>--with-features=huge</parameter>: This switch enables all
232 the additional features available in <application>Vim</application>,
233 including support for multibyte characters.
234 </para>
235
236 <para>
237 <parameter>--with-tlib=ncursesw</parameter>: This switch forces Vim to
238 link against the <filename class="libraryfile">libncursesw</filename>
239 library.
240 </para>
241
242 <para>
243 <option>--enable-gui=no</option>: This will prevent compilation of the
244 GUI. <application>Vim</application> will still link against
245 <application>X</application>, so that some features such as the
246 client-server model or the x11-selection (clipboard) are still available.
247 </para>
248
249 <para>
250 <option>--without-x</option>: If you prefer not to link
251 <application>Vim</application> against <application>X</application>, use
252 this switch.
253 </para>
254
255 <para>
256 <option>--enable-luainterp</option>,
257 <option>--enable-perlinterp</option>,
258 <option>--enable-python3interp=dynamic</option>,
259 <option>--enable-tclinterp --with-tclsh=tclsh</option>,
260 <option>--enable-rubyinterp</option>:
261 These options include the Lua, Perl, Python3, Tcl, or Ruby interpreters
262 that allow using other application code in <application>vim</application>
263 scripts. All the <option>--enable-...</option> options can accept
264 <option>=dynamic</option> to dynamically load the interpreter when
265 needed. This is required for <application>Python 3</application> to
266 prevent segmentation faults. For <application>tcl</application>,
267 it is necessary to indicate the name of the <command>tclsh</command>
268 executable, since <command>configure</command> only searches versioned
269 names with old versions.
270 </para>
271
272 </sect2>
273
274 <sect2 role="configuration">
275 <title>Configuring Vim</title>
276
277 <sect3 id='vim-config'>
278 <title>Config Files</title>
279
280 <para>
281 <filename>/etc/vimrc</filename> and
282 <filename>~/.vimrc</filename>
283 </para>
284
285 <indexterm zone="vim vim-config">
286 <primary sortas="e-etc-vimrc">/etc/vimrc</primary>
287 </indexterm>
288
289 <indexterm zone="vim vim-config">
290 <primary sortas="e-AA.vimrc">~/.vimrc</primary>
291 </indexterm>
292
293 </sect3>
294<!-- there are now desktop files shipped with the package
295 <sect3 id='vim-desktop'>
296 <title>Desktop File</title>
297
298 <para>
299 If desired, create a menu entry for graphical vim,
300 <filename>gvim.desktop</filename>, as the <systemitem
301 class="username">root</systemitem> user
302 </para>
303
304<screen role="root"><userinput>cat &gt; /usr/share/applications/gvim.desktop &lt;&lt; "EOF"
305<literal>[Desktop Entry]
306Name=GVim Text Editor
307Comment=Edit text files
308Comment[pt_BR]=Edite arquivos de texto
309TryExec=gvim
310Exec=gvim -f %F
311Terminal=false
312Type=Application
313Icon=gvim.png
314Categories=Utility;TextEditor;
315StartupNotify=true
316MimeType=text/plain;</literal>
317EOF</userinput></screen>
318
319 </sect3>
320-->
321 <sect3 id='vim-init'>
322 <title>Configuration Information</title>
323
324 <para>
325 <application>Vim</application> has an integrated spell checker
326 which you can enable by issuing the following in a vim window:
327 </para>
328
329<screen><literal>:setlocal spell spelllang=ru</literal></screen>
330
331 <para>
332 This setting will enable spell checking for the Russian
333 language for the current session.
334 </para>
335
336 <para>
337 By default, <application>Vim</application> only installs spell
338 files for the English language. If a spell file is not available for
339 a language, then <application>Vim</application> will call the
340 <filename>$VIMRUNTIME/plugin/spellfile.vim</filename> plugin and will
341 try to obtain the *.spl and optionally *.sug from the vim ftp server,
342 by using the <filename>$VIMRUNTIME/plugin/netrwPlugin.vim</filename>
343 plugin.
344 </para>
345
346<!-- When updating, be sure to change the line below for the proper 'vimxx'
347 unpacked directory -->
348 <para>
349 Alternatively you can manually download the *.spl and *.sug files
350 from: <ulink url="ftp://ftp.vim.org/pub/vim/runtime/spell/"/> and save
351 them to <filename class="directory"> ~/.vim/spell </filename> or in
352 <filename
353 class="directory">/usr/share/vim/vim&vim-majmin;/spell/</filename>.
354 </para>
355
356 <para>
357 To find out what's new in <application>Vim-&vim-version;</application>
358 issue the following command:
359 </para>
360
361<screen><literal>:help version-&vim-version;</literal></screen>
362
363 <para>
364 For additional information on setting up
365 <application>Vim</application> configuration files, see <xref
366 linkend="postlfs-config-vimrc"/> and <ulink
367 url="https://vim.fandom.com/wiki/Example_vimrc"/>.
368 </para>
369
370 </sect3>
371
372 </sect2>
373
374 <sect2 role="content">
375 <title>Contents</title>
376
377 <para>
378 A list of the reinstalled files, along with their short
379 descriptions can be found in the
380 <ulink url="&lfs-root;/chapter08/vim.html#contents-vim">LFS Vim
381 Installation Instructions</ulink>.
382 </para>
383
384 <segmentedlist>
385 <segtitle>Installed Programs</segtitle>
386 <segtitle>Installed Libraries</segtitle>
387 <segtitle>Installed Directory</segtitle>
388
389 <seglistitem>
390 <seg>gview, gvim, gvimdiff, gvimtutor, rgview, and rgvim</seg>
391 <seg>None</seg>
392 <seg>/usr/share/vim</seg>
393 </seglistitem>
394 </segmentedlist>
395
396 <variablelist>
397 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
398 <?dbfo list-presentation="list"?>
399 <?dbhtml list-presentation="table"?>
400
401 <varlistentry id="gview">
402 <term><command>gview</command></term>
403 <listitem>
404 <para>
405 starts <command>gvim</command> in read-only mode
406 </para>
407 <indexterm zone="vim gview">
408 <primary sortas="b-gview">gview</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="gvim">
414 <term><command>gvim</command></term>
415 <listitem>
416 <para>
417 is the editor that runs under <application>X</application>
418 and includes a GUI
419 </para>
420 <indexterm zone="vim gvim">
421 <primary sortas="b-gvim">gvim</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry id="gvimdiff">
427 <term><command>gvimdiff</command></term>
428 <listitem>
429 <para>
430 edits two or three versions of a file with
431 <command>gvim</command> and shows the differences
432 </para>
433 <indexterm zone="vim gvimdiff">
434 <primary sortas="b-gvimdiff">gvimdiff</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 <varlistentry id="gvimtutor">
440 <term><command>gvimtutor</command></term>
441 <listitem>
442 <para>
443 teaches the basic keys and commands of
444 <command>gvim</command>
445 </para>
446 <indexterm zone="vim gvimtutor">
447 <primary sortas="b-gvimtutor">gvimtutor</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="rgview">
453 <term><command>rgview</command></term>
454 <listitem>
455 <para>
456 is a restricted version of <command>gview</command>
457 </para>
458 <indexterm zone="vim rgview">
459 <primary sortas="b-rgview">rgview</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="rgvim">
465 <term><command>rgvim</command></term>
466 <listitem>
467 <para>
468 is a restricted version of <command>gvim</command>
469 </para>
470 <indexterm zone="vim gvim">
471 <primary sortas="b-gvim">gvim</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 </variablelist>
477
478 </sect2>
479
480</sect1>
Note: See TracBrowser for help on using the repository browser.