237
|
1 *filetype.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
7
|
2
|
|
3
|
|
4 VIM REFERENCE MANUAL by Bram Moolenaar
|
|
5
|
|
6
|
|
7 Filetypes *filetype* *file-type*
|
|
8
|
|
9 1. Filetypes |filetypes|
|
|
10 2. Filetype plugin |filetype-plugins|
|
|
11 3. Docs for the default filetype plugins. |ftplugin-docs|
|
|
12
|
|
13 Also see |autocmd.txt|.
|
|
14
|
|
15 {Vi does not have any of these commands}
|
|
16
|
|
17 ==============================================================================
|
|
18 1. Filetypes *filetypes* *file-types*
|
|
19
|
|
20 Vim can detect the type of file that is edited. This is done by checking the
|
|
21 file name and sometimes by inspecting the contents of the file for specific
|
|
22 text.
|
|
23
|
|
24 *:filetype* *:filet*
|
|
25 To enable file type detection, use this command in your vimrc: >
|
|
26 :filetype on
|
|
27 Each time a new or existing file is edited, Vim will try to recognize the type
|
|
28 of the file and set the 'filetype' option. This will trigger the FileType
|
|
29 event, which can be used to set the syntax highlighting, set options, etc.
|
|
30
|
|
31 NOTE: Filetypes and 'compatible' don't work together well, since being Vi
|
|
32 compatible means options are global. Resetting 'compatible' is recommended,
|
|
33 if you didn't do that already.
|
|
34
|
|
35 Detail: The ":filetype on" command will load one of these files:
|
|
36 Amiga $VIMRUNTIME/filetype.vim
|
|
37 Mac $VIMRUNTIME:filetype.vim
|
|
38 MS-DOS $VIMRUNTIME\filetype.vim
|
|
39 RiscOS Vim:Filetype
|
|
40 Unix $VIMRUNTIME/filetype.vim
|
|
41 VMS $VIMRUNTIME/filetype.vim
|
|
42 This file is a Vim script that defines autocommands for the
|
|
43 BufNewFile and BufRead events. If the file type is not found by the
|
|
44 name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
|
45 contents of the file.
|
|
46
|
|
47 To add your own file types, see |new-filetype| below.
|
|
48
|
|
49 If the file type is not detected automatically, or it finds the wrong type,
|
|
50 you can either set the 'filetype' option manually, or add a modeline to your
|
|
51 file. Example, for in an IDL file use the command: >
|
|
52 :set filetype=idl
|
|
53 or add this |modeline| to the file: >
|
|
54 /* vim: set filetype=idl : */
|
|
55 <
|
|
56 *:filetype-plugin-on*
|
|
57 You can enable loading the plugin files for specific file types with: >
|
|
58 :filetype plugin on
|
|
59 If filetype detection was not switched on yet, it will be as well.
|
|
60 This actually loads the file "ftplugin.vim" in 'runtimepath'.
|
|
61 The result is that when a file is edited its plugin file is loaded (if there
|
|
62 is one for the detected filetype). |filetype-plugin|
|
|
63
|
|
64 *:filetype-plugin-off*
|
|
65 You can disable it again with: >
|
|
66 :filetype plugin off
|
|
67 The filetype detection is not switched off then. But if you do switch off
|
|
68 filetype detection, the plugins will not be loaded either.
|
|
69 This actually loads the file "ftplugof.vim" in 'runtimepath'.
|
|
70
|
|
71 *:filetype-indent-on*
|
|
72 You can enable loading the indent file for specific file types with: >
|
|
73 :filetype indent on
|
|
74 If filetype detection was not switched on yet, it will be as well.
|
|
75 This actually loads the file "indent.vim" in 'runtimepath'.
|
|
76 The result is that when a file is edited its indent file is loaded (if there
|
|
77 is one for the detected filetype). |indent-expression|
|
|
78
|
|
79 *:filetype-indent-off*
|
|
80 You can disable it again with: >
|
|
81 :filetype indent off
|
|
82 The filetype detection is not switched off then. But if you do switch off
|
|
83 filetype detection, the indent files will not be loaded either.
|
|
84 This actually loads the file "indoff.vim" in 'runtimepath'.
|
22
|
85 This disables auto-indenting for files you will open. It will keep working in
|
|
86 already opened files. Reset 'autoindent', 'cindent', 'smartindent' and/or
|
|
87 'indentexpr' to disable indenting in an opened file.
|
7
|
88
|
|
89 *:filetype-off*
|
|
90 To disable file type detection, use this command: >
|
|
91 :filetype off
|
|
92 This will keep the flags for "plugin" and "indent", but since no file types
|
|
93 are being detected, they won't work until the next ":filetype on".
|
|
94
|
|
95
|
|
96 Overview: *:filetype-overview*
|
|
97
|
|
98 command detection plugin indent ~
|
|
99 :filetype on on unchanged unchanged
|
|
100 :filetype off off unchanged unchanged
|
|
101 :filetype plugin on on on unchanged
|
|
102 :filetype plugin off unchanged off unchanged
|
|
103 :filetype indent on on unchanged on
|
|
104 :filetype indent off unchanged unchanged off
|
|
105 :filetype plugin indent on on on on
|
|
106 :filetype plugin indent off unchanged off off
|
|
107
|
|
108 To see the current status, type: >
|
|
109 :filetype
|
|
110 The output looks something like this: >
|
|
111 filetype detection:ON plugin:ON indent:OFF
|
|
112
|
|
113 The file types are also used for syntax highlighting. If the ":syntax on"
|
|
114 command is used, the file type detection is installed too. There is no need
|
|
115 to do ":filetype on" after ":syntax on".
|
|
116
|
|
117 To disable one of the file types, add a line in the your filetype file, see
|
|
118 |remove-filetype|.
|
|
119
|
|
120 *filetype-detect*
|
|
121 To detect the file type again: >
|
|
122 :filetype detect
|
|
123 Use this if you started with an empty file and typed text that makes it
|
|
124 possible to detect the file type. For example, when you entered this in a
|
|
125 shell script: "#!/bin/csh".
|
|
126 When filetype detection was off, it will be enabled first, like the "on"
|
|
127 argument was used.
|
|
128
|
|
129 *filetype-overrule*
|
|
130 When the same extension is used for two filetypes, Vim tries to guess what
|
|
131 kind of file it is. This doesn't always work. A number of global variables
|
|
132 can be used to overrule the filetype used for certain extensions:
|
|
133
|
|
134 file name variable ~
|
|
135 *.asa g:filetype_asa |aspvbs-syntax| |aspperl-syntax|
|
|
136 *.asp g:filetype_asp |aspvbs-syntax| |aspperl-syntax|
|
|
137 *.asm g:asmsyntax |asm-syntax|
|
|
138 *.prg g:filetype_prg
|
|
139 *.pl g:filetype_pl
|
|
140 *.inc g:filetype_inc
|
|
141 *.w g:filetype_w |cweb-syntax|
|
|
142 *.i g:filetype_i |progress-syntax|
|
|
143 *.p g:filetype_p |pascal-syntax|
|
|
144 *.sh g:bash_is_sh |sh-syntax|
|
|
145
|
|
146 *filetype-ignore*
|
|
147 To avoid that certain files are being inspected, the g:ft_ignore_pat variable
|
|
148 is used. The default value is set like this: >
|
|
149 :let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$'
|
|
150 This means that the contents of compressed files are not inspected.
|
|
151
|
|
152 *new-filetype*
|
22
|
153 If a file type that you want to use is not detected yet, there are four ways
|
10
|
154 to add it. In any way, it's better not to modify the $VIMRUNTIME/filetype.vim
|
7
|
155 file. It will be overwritten when installing a new version of Vim.
|
|
156
|
|
157 A. If you want to overrule all default file type checks.
|
|
158 This works by writing one file for each filetype. The disadvantage is that
|
|
159 means there can be many files. The advantage is that you can simply drop
|
|
160 this file in the right directory to make it work.
|
22
|
161 *ftdetect*
|
7
|
162 1. Create your user runtime directory. You would normally use the first
|
|
163 item of the 'runtimepath' option. Then create the directory "ftdetect"
|
|
164 inside it. Example for Unix: >
|
|
165 :!mkdir ~/.vim
|
|
166 :!mkdir ~/.vim/ftdetect
|
|
167 <
|
|
168 2. Create a file that contains an autocommand to detect the file type.
|
|
169 Example: >
|
|
170 au BufRead,BufNewFile *.mine set filetype=mine
|
|
171 < Note that there is no "augroup" command, this has already been done
|
|
172 when sourcing your file. You could also use the pattern "*" and then
|
|
173 check the contents of the file to recognize it.
|
|
174 Write this file as "mine.vim" in the "ftdetect" directory in your user
|
|
175 runtime directory. For example, for Unix: >
|
|
176 :w ~/.vim/ftdetect/mine.vim
|
|
177
|
|
178 < 3. To use the new filetype detection you must restart Vim.
|
|
179
|
|
180 The files in the "ftdetect" directory are used after all the default
|
|
181 checks, thus they can overrule a previously detected file type.
|
|
182
|
|
183 B. If you want to detect your file after the default file type checks.
|
|
184
|
|
185 This works like A above, but instead of setting 'filetype' unconditionally
|
|
186 use ":setfiletype". This will only set 'filetype' if no file type was
|
|
187 detected yet. Example: >
|
|
188 au BufRead,BufNewFile *.txt setfiletype text
|
|
189 <
|
|
190 You can also use the already detected file type in your command. For
|
|
191 example, to use the file type "mypascal" when "pascal" has been detected: >
|
|
192 au BufRead,BufNewFile * if &ft == 'pascal' | set ft=mypascal
|
|
193 | endif
|
|
194
|
|
195 C. If your file type can be detected by the file name.
|
|
196 1. Create your user runtime directory. You would normally use the first
|
|
197 item of the 'runtimepath' option. Example for Unix: >
|
|
198 :!mkdir ~/.vim
|
|
199 <
|
|
200 2. Create a file that contains autocommands to detect the file type.
|
|
201 Example: >
|
|
202 " my filetype file
|
|
203 if exists("did_load_filetypes")
|
|
204 finish
|
|
205 endif
|
|
206 augroup filetypedetect
|
|
207 au! BufRead,BufNewFile *.mine setfiletype mine
|
|
208 au! BufRead,BufNewFile *.xyz setfiletype drawing
|
|
209 augroup END
|
|
210 < Write this file as "filetype.vim" in your user runtime directory. For
|
|
211 example, for Unix: >
|
|
212 :w ~/.vim/filetype.vim
|
|
213
|
|
214 < 3. To use the new filetype detection you must restart Vim.
|
|
215
|
|
216 Your filetype.vim will be sourced before the default FileType autocommands
|
|
217 have been installed. Your autocommands will match first, and the
|
|
218 ":setfiletype" command will make sure that no other autocommands will set
|
|
219 'filetype' after this.
|
|
220 *new-filetype-scripts*
|
|
221 D. If your filetype can only be detected by inspecting the contents of the
|
|
222 file.
|
|
223
|
|
224 1. Create your user runtime directory. You would normally use the first
|
|
225 item of the 'runtimepath' option. Example for Unix: >
|
|
226 :!mkdir ~/.vim
|
|
227 <
|
|
228 2. Create a vim script file for doing this. Example: >
|
|
229 if did_filetype() " filetype already set..
|
|
230 finish " ..don't do these checks
|
|
231 endif
|
|
232 if getline(1) =~ '^#!.*\<mine\>'
|
|
233 setfiletype mine
|
|
234 elseif getline(1) =~? '\<drawing\>'
|
|
235 setfiletype drawing
|
|
236 endif
|
|
237 < See $VIMRUNTIME/scripts.vim for more examples.
|
|
238 Write this file as "scripts.vim" in your user runtime directory. For
|
|
239 example, for Unix: >
|
|
240 :w ~/.vim/scripts.vim
|
|
241 <
|
|
242 3. The detection will work right away, no need to restart Vim.
|
|
243
|
|
244 Your scripts.vim is loaded before the default checks for file types, which
|
|
245 means that your rules override the default rules in
|
|
246 $VIMRUNTIME/scripts.vim.
|
|
247
|
|
248 *remove-filetype*
|
|
249 If a file type is detected that is wrong for you, install a filetype.vim or
|
|
250 scripts.vim to catch it (see above). You can set 'filetype' to a non-existing
|
|
251 name to avoid that it will be set later anyway: >
|
|
252 :set filetype=ignored
|
|
253
|
|
254 If you are setting up a system with many users, and you don't want each user
|
|
255 to add/remove the same filetypes, consider writing the filetype.vim and
|
|
256 scripts.vim files in a runtime directory that is used for everybody. Check
|
|
257 the 'runtimepath' for a directory to use. If there isn't one, set
|
|
258 'runtimepath' in the |system-vimrc|. Be careful to keep the default
|
|
259 directories!
|
|
260
|
|
261
|
|
262 *autocmd-osfiletypes*
|
|
263 On operating systems which support storing a file type with the file, you can
|
|
264 specify that an autocommand should only be executed if the file is of a
|
|
265 certain type.
|
|
266
|
|
267 The actual type checking depends on which platform you are running Vim
|
|
268 on; see your system's documentation for details.
|
|
269
|
|
270 To use osfiletype checking in an autocommand you should put a list of types to
|
|
271 match in angle brackets in place of a pattern, like this: >
|
|
272
|
|
273 :au BufRead *.html,<&faf;HTML> runtime! syntax/html.vim
|
|
274
|
|
275 This will match:
|
|
276
|
|
277 - Any file whose name ends in `.html'
|
|
278 - Any file whose type is `&faf' or 'HTML', where the meaning of these types
|
|
279 depends on which version of Vim you are using.
|
|
280 Unknown types are considered NOT to match.
|
|
281
|
|
282 You can also specify a type and a pattern at the same time (in which case they
|
|
283 must both match): >
|
|
284
|
|
285 :au BufRead <&fff>diff*
|
|
286
|
|
287 This will match files of type `&fff' whose names start with `diff'.
|
|
288
|
|
289 Note that osfiletype checking is skipped if Vim is compiled without the
|
|
290 |+osfiletype| feature.
|
|
291
|
|
292 *plugin-details*
|
|
293 The "plugin" directory can be in any of the directories in the 'runtimepath'
|
|
294 option. All of these directories will be searched for plugins and they are
|
|
295 all loaded. For example, if this command: >
|
|
296
|
|
297 set runtimepath
|
|
298
|
|
299 produces this output: >
|
|
300
|
|
301 runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60
|
|
302
|
|
303 then Vim will load all plugins in these directories: >
|
|
304
|
|
305 /etc/vim/plugin/
|
|
306 ~/.vim/plugin/
|
|
307 /usr/local/share/vim/vim60/plugin/
|
|
308
|
|
309 Note that the last one is the value of $VIMRUNTIME which has been expanded.
|
|
310
|
|
311 What if it looks like your plugin is not being loaded? You can find out what
|
|
312 happens when Vim starts up by using the |-V| argument: >
|
|
313 vim -V1
|
|
314 You will see a lot of messages, in between them is a remark about loading the
|
|
315 plugins. It starts with: >
|
|
316 Searching for "plugin/*.vim" in
|
|
317 There you can see where Vim looks for your plugin scripts.
|
|
318
|
|
319 ==============================================================================
|
|
320 2. Filetype plugin *filetype-plugins*
|
|
321
|
|
322 When loading filetype plugins has been enabled |:filetype-plugin-on|, options
|
|
323 will be set and mappings defined. These are all local to the buffer, they
|
|
324 will not be used for other files.
|
|
325
|
|
326 Defining mappings for a filetype may get in the way of the mappings you
|
|
327 define yourself. There are a few ways to avoid this:
|
|
328 1. Set the "maplocalleader" variable to the key sequence you want the mappings
|
|
329 to start with. Example: >
|
|
330 :let maplocalleader = ","
|
|
331 < All mappings will then start with a comma instead of the default, which
|
|
332 is a backslash. Also see |<LocalLeader>|.
|
|
333
|
|
334 2. Define your own mapping. Example: >
|
|
335 :map ,p <Plug>MailQuote
|
|
336 < You need to check the description of the plugin file below for the
|
|
337 functionality it offers and the string to map to.
|
|
338 You need to define your own mapping before the plugin is loaded (before
|
|
339 editing a file of that type). The plugin will then skip installing the
|
|
340 default mapping.
|
|
341
|
|
342 3. Disable defining mappings for a specific filetype by setting a variable,
|
|
343 which contains the name of the filetype. For the "mail" filetype this
|
|
344 would be: >
|
|
345 :let no_mail_maps = 1
|
|
346
|
|
347 4. Disable defining mappings for all filetypes by setting a variable: >
|
|
348 :let no_plugin_maps = 1
|
|
349 <
|
|
350
|
|
351 *ftplugin-overrule*
|
|
352 If a global filetype plugin does not do exactly what you want, there are three
|
|
353 ways to change this:
|
|
354
|
|
355 1. Add a few settings.
|
|
356 You must create a new filetype plugin in a directory early in
|
|
357 'runtimepath'. For Unix, for example you could use this file: >
|
|
358 vim ~/.vim/ftplugin/fortran.vim
|
|
359 < You can set those settings and mappings that you would like to add. Note
|
|
360 that the global plugin will be loaded after this, it may overrule the
|
|
361 settings that you do here. If this is the case, you need to use one of the
|
|
362 following two methods.
|
|
363
|
|
364 2. Make a copy of the plugin and change it.
|
|
365 You must put the copy in a directory early in 'runtimepath'. For Unix, for
|
|
366 example, you could do this: >
|
|
367 cp $VIMRUNTIME/ftplugin/fortran.vim ~/.vim/ftplugin/fortran.vim
|
|
368 < Then you can edit the copied file to your liking. Since the b:did_ftplugin
|
|
369 variable will be set, the global plugin will not be loaded.
|
|
370 A disadvantage of this method is that when the distributed plugin gets
|
|
371 improved, you will have to copy and modify it again.
|
|
372
|
|
373 3. Overrule the settings after loading the global plugin.
|
|
374 You must create a new filetype plugin in a directory from the end of
|
|
375 'runtimepath'. For Unix, for example, you could use this file: >
|
|
376 vim ~/.vim/after/ftplugin/fortran.vim
|
|
377 < In this file you can change just those settings that you want to change.
|
|
378
|
|
379 ==============================================================================
|
|
380 3. Docs for the default filetype plugins. *ftplugin-docs*
|
|
381
|
|
382
|
|
383 CHANGELOG *changelog-plugin*
|
|
384
|
237
|
385 Allows for easy entrance of Changelog entries in Changelog files. There are
|
7
|
386 some commands, mappings, and variables worth exploring:
|
|
387
|
|
388 Options:
|
|
389 'comments' is made empty to not mess up formatting.
|
|
390 'textwidth' is set to 78, which is standard.
|
|
391 'formatoptions' the 't' flag is added to wrap when inserting text.
|
|
392
|
|
393 Commands:
|
|
394 NewChangelogEntry Adds a new Changelog entry in an intelligent fashion
|
|
395 (see below).
|
|
396
|
|
397 Local mappings:
|
|
398 <Leader>o Starts a new Changelog entry in an equally intelligent
|
|
399 fashion (see below).
|
|
400
|
|
401 Global mappings:
|
|
402 NOTE: The global mappings are accessed by sourcing the
|
|
403 ftplugin/changelog.vim file first, e.g. with >
|
|
404 runtime ftplugin/man.vim
|
|
405 < in your |.vimrc|.
|
|
406 <Leader>o Switches to the ChangeLog buffer opened for the
|
|
407 current directory, or opens it in a new buffer if it
|
|
408 exists in the current directory. Then it does the
|
|
409 same as the local <Leader>o described above.
|
|
410
|
|
411 Variables:
|
|
412 g:changelog_timeformat The date (and time) format used in ChangeLog entries.
|
|
413 The format accepted is the same as for the
|
|
414 |strftime()| function.
|
|
415 The default is "%Y-%m-%d" which is the standard format
|
|
416 for many ChangeLog layouts.
|
|
417 g:changelog_username The name and email address of the user.
|
|
418 The default is deduced from environment variables and
|
|
419 system files. It searches /etc/passwd for the comment
|
|
420 part of the current user, which informally contains
|
|
421 the real name of the user up to the first separating
|
|
422 comma. then it checks the $NAME environment variable
|
|
423 and finally runs `whoami` and `hostname` to build an
|
|
424 email address. The final form is >
|
|
425 Full Name <user@host>
|
|
426 <
|
|
427 g:changelog_new_date_format
|
|
428 The format to use when creating a new date-entry.
|
|
429 The following table describes special tokens in the
|
|
430 string:
|
|
431 %% insert a single '%' character
|
|
432 %d insert the date from above
|
|
433 %u insert the user from above
|
|
434 %c where to position cursor when done
|
|
435 The default is "%d %u\n\n\t* %c\n\n", which produces
|
|
436 something like (| is where cursor will be, unless at
|
|
437 the start of the line where it denotes the beginning
|
|
438 of the line) >
|
|
439 |2003-01-14 Full Name <user@host>
|
|
440 |
|
|
441 | * |
|
|
442 <
|
|
443 g:changelog_new_entry_format
|
|
444 The format used when creating a new entry.
|
|
445 The following table describes special tokens in the
|
|
446 string:
|
|
447 %c where to position cursor when done
|
|
448 The default is "\t*%c", which produces something
|
|
449 similar to >
|
|
450 | * |
|
|
451 <
|
|
452 g:changelog_date_entry_search
|
|
453 The search pattern to use when searching for a
|
|
454 date-entry.
|
|
455 The same tokens that can be used for
|
|
456 g:changelog_new_date_format can be used here as well.
|
|
457 The default is '^\s*%d\_s*%u' which finds lines
|
|
458 matching the form >
|
|
459 |2003-01-14 Full Name <user@host>
|
|
460 < and some similar formats.
|
|
461
|
|
462 The Changelog entries are inserted where they add the least amount of text.
|
|
463 After figuring out the current date and user, the file is searched for an
|
|
464 entry beginning with the current date and user and if found adds another item
|
237
|
465 under it. If not found, a new entry and item is prepended to the beginning of
|
7
|
466 the Changelog.
|
|
467
|
|
468
|
|
469 FORTRAN *fortran-plugin*
|
|
470
|
|
471 Options:
|
|
472 'expandtab' is switched on to avoid tabs as required by the Fortran
|
|
473 standards unless the user has set fortran_have_tabs in .vimrc.
|
|
474 'textwidth' is set to 72 for fixed source format as required by the
|
|
475 Fortran standards and to 80 for free source format.
|
|
476 'formatoptions' is set to break code and comment lines and to preserve long
|
237
|
477 lines. You can format comments with |gq|.
|
7
|
478 For further discussion of fortran_have_tabs and the method used for the
|
|
479 detection of source format see |fortran-syntax|.
|
|
480
|
|
481
|
|
482 MAIL *mail-plugin*
|
|
483
|
|
484 Options:
|
|
485 'modeline' is switched off to avoid the danger of trojan horses, and to
|
|
486 avoid that a Subject line with "Vim:" in it will cause an
|
|
487 error message.
|
|
488 'textwidth' is set to 72. This is often recommended for e-mail.
|
|
489 'formatoptions' is set to break text lines and to repeat the comment leader
|
|
490 in new lines, so that a leading ">" for quotes is repeated.
|
|
491 You can also format quoted text with |gq|.
|
|
492
|
|
493 Local mappings:
|
|
494 <LocalLeader>q or \\MailQuote
|
|
495 Quotes the text selected in Visual mode, or from the cursor position
|
|
496 to the end of the file in Normal mode. This means "> " is inserted in
|
|
497 each line.
|
|
498
|
|
499 MAN *man-plugin* *:Man*
|
|
500
|
|
501 Displays a manual page in a nice way. Also see the user manual
|
|
502 |find-manpage|.
|
|
503
|
|
504 To start using the ":Man" command before any manual page was loaded, source
|
|
505 this script from your startup vimrc file: >
|
|
506
|
|
507 runtime ftplugin/man.vim
|
|
508
|
|
509 Options:
|
|
510 'iskeyword' the '.' character is added to be able to use CTRL-] on the
|
|
511 manual page name.
|
|
512
|
|
513 Commands:
|
|
514 Man {name} Display the manual page for {name} in a window.
|
|
515 Man {number} {name}
|
|
516 Display the manual page for {name} in a section {number}.
|
|
517
|
|
518 Global mapping:
|
|
519 <Leader>K Displays the manual page for the word under the cursor.
|
|
520
|
|
521 Local mappings:
|
|
522 CTRL-] Jump to the manual page for the word under the cursor.
|
|
523 CTRL-T Jump back to the previous manual page.
|
|
524
|
|
525
|
|
526 RPM SPEC *spec-plugin*
|
|
527
|
|
528 Since the text for this plugin is rather long it has been put in a separate
|
|
529 file: |pi_spec.txt|.
|
|
530
|
|
531
|
|
532 vim:tw=78:ts=8:ft=help:norl:
|