"Fossies" - the Fresh Open Source Software Archive

Member "vim-8.2.1354/runtime/doc/filetype.txt" (2 Aug 2020, 27226 Bytes) of package /linux/misc/vim-8.2.1354.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "filetype.txt" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 8.1_vs_8.2.

    1 *filetype.txt*  For Vim version 8.2.  Last change: 2019 Jul 16
    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 
   16 ==============================================================================
   17 1. Filetypes					*filetypes* *file-types*
   18 
   19 Vim can detect the type of file that is edited.  This is done by checking the
   20 file name and sometimes by inspecting the contents of the file for specific
   21 text.
   22 
   23 							*:filetype* *:filet*
   24 To enable file type detection, use this command in your vimrc: >
   25 	:filetype on
   26 Each time a new or existing file is edited, Vim will try to recognize the type
   27 of the file and set the 'filetype' option.  This will trigger the FileType
   28 event, which can be used to set the syntax highlighting, set options, etc.
   29 
   30 NOTE: Filetypes and 'compatible' don't work together well, since being Vi
   31 compatible means options are global.  Resetting 'compatible' is recommended,
   32 if you didn't do that already.
   33 
   34 Detail: The ":filetype on" command will load one of these files:
   35 		Amiga	    $VIMRUNTIME/filetype.vim
   36 		Mac	    $VIMRUNTIME:filetype.vim
   37 		MS-Windows  $VIMRUNTIME\filetype.vim
   38 		Unix	    $VIMRUNTIME/filetype.vim
   39 		VMS	    $VIMRUNTIME/filetype.vim
   40 	This file is a Vim script that defines autocommands for the
   41 	BufNewFile and BufRead events.  If the file type is not found by the
   42 	name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
   43 	contents of the file.
   44 	When the GUI is running or will start soon, the |menu.vim| script is
   45 	also sourced.  See |'go-M'| about avoiding that.
   46 
   47 To add your own file types, see |new-filetype| below.  To search for help on a
   48 filetype prepend "ft-" and optionally append "-syntax", "-indent" or
   49 "-plugin".  For example: >
   50 	:help ft-vim-indent
   51 	:help ft-vim-syntax
   52 	:help ft-man-plugin
   53 
   54 If the file type is not detected automatically, or it finds the wrong type,
   55 you can either set the 'filetype' option manually, or add a modeline to your
   56 file.  Example, for an IDL file use the command: >
   57 	:set filetype=idl
   58 
   59 or add this |modeline| to the file:
   60 	/* vim: set filetype=idl : */ ~
   61 
   62 						*:filetype-plugin-on*
   63 You can enable loading the plugin files for specific file types with: >
   64 	:filetype plugin on
   65 If filetype detection was not switched on yet, it will be as well.
   66 This actually loads the file "ftplugin.vim" in 'runtimepath'.
   67 The result is that when a file is edited its plugin file is loaded (if there
   68 is one for the detected filetype). |filetype-plugin|
   69 
   70 						*:filetype-plugin-off*
   71 You can disable it again with: >
   72 	:filetype plugin off
   73 The filetype detection is not switched off then.  But if you do switch off
   74 filetype detection, the plugins will not be loaded either.
   75 This actually loads the file "ftplugof.vim" in 'runtimepath'.
   76 
   77 						*:filetype-indent-on*
   78 You can enable loading the indent file for specific file types with: >
   79 	:filetype indent on
   80 If filetype detection was not switched on yet, it will be as well.
   81 This actually loads the file "indent.vim" in 'runtimepath'.
   82 The result is that when a file is edited its indent file is loaded (if there
   83 is one for the detected filetype). |indent-expression|
   84 
   85 						*:filetype-indent-off*
   86 You can disable it again with: >
   87 	:filetype indent off
   88 The filetype detection is not switched off then.  But if you do switch off
   89 filetype detection, the indent files will not be loaded either.
   90 This actually loads the file "indoff.vim" in 'runtimepath'.
   91 This disables auto-indenting for files you will open.  It will keep working in
   92 already opened files.  Reset 'autoindent', 'cindent', 'smartindent' and/or
   93 'indentexpr' to disable indenting in an opened file.
   94 
   95 						*:filetype-off*
   96 To disable file type detection, use this command: >
   97 	:filetype off
   98 This will keep the flags for "plugin" and "indent", but since no file types
   99 are being detected, they won't work until the next ":filetype on".
  100 
  101 
  102 Overview:					*:filetype-overview*
  103 
  104 command				detection	plugin		indent ~
  105 :filetype on			on		unchanged	unchanged
  106 :filetype off			off		unchanged	unchanged
  107 :filetype plugin on		on		on		unchanged
  108 :filetype plugin off		unchanged	off		unchanged
  109 :filetype indent on		on		unchanged	on
  110 :filetype indent off		unchanged	unchanged	off
  111 :filetype plugin indent on	on		on		on
  112 :filetype plugin indent off	unchanged	off		off
  113 
  114 To see the current status, type: >
  115 	:filetype
  116 The output looks something like this: >
  117 	filetype detection:ON  plugin:ON  indent:OFF
  118 
  119 The file types are also used for syntax highlighting.  If the ":syntax on"
  120 command is used, the file type detection is installed too.  There is no need
  121 to do ":filetype on" after ":syntax on".
  122 
  123 To disable one of the file types, add a line in your filetype file, see
  124 |remove-filetype|.
  125 
  126 							*filetype-detect*
  127 To detect the file type again: >
  128 	:filetype detect
  129 Use this if you started with an empty file and typed text that makes it
  130 possible to detect the file type.  For example, when you entered this in a
  131 shell script: "#!/bin/csh".
  132    When filetype detection was off, it will be enabled first, like the "on"
  133 argument was used.
  134 
  135 							*filetype-overrule*
  136 When the same extension is used for two filetypes, Vim tries to guess what
  137 kind of file it is.  This doesn't always work.  A number of global variables
  138 can be used to overrule the filetype used for certain extensions:
  139 
  140 	file name	variable ~
  141 	*.asa		g:filetype_asa	|ft-aspvbs-syntax| |ft-aspperl-syntax|
  142 	*.asp		g:filetype_asp	|ft-aspvbs-syntax| |ft-aspperl-syntax|
  143 	*.asm		g:asmsyntax	|ft-asm-syntax|
  144 	*.prg		g:filetype_prg
  145 	*.pl		g:filetype_pl
  146 	*.inc		g:filetype_inc
  147 	*.w		g:filetype_w	|ft-cweb-syntax|
  148 	*.i		g:filetype_i	|ft-progress-syntax|
  149 	*.p		g:filetype_p	|ft-pascal-syntax|
  150 	*.sh		g:bash_is_sh	|ft-sh-syntax|
  151 	*.tex		g:tex_flavor	|ft-tex-plugin|
  152 
  153 							*filetype-ignore*
  154 To avoid that certain files are being inspected, the g:ft_ignore_pat variable
  155 is used.  The default value is set like this: >
  156 	:let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$'
  157 This means that the contents of compressed files are not inspected.
  158 
  159 							*new-filetype*
  160 If a file type that you want to use is not detected yet, there are four ways
  161 to add it.  In any way, it's better not to modify the $VIMRUNTIME/filetype.vim
  162 file.  It will be overwritten when installing a new version of Vim.
  163 
  164 A. If you want to overrule all default file type checks.
  165    This works by writing one file for each filetype.  The disadvantage is that
  166    means there can be many files.  The advantage is that you can simply drop
  167    this file in the right directory to make it work.
  168 							*ftdetect*
  169    1. Create your user runtime directory.  You would normally use the first
  170       item of the 'runtimepath' option.  Then create the directory "ftdetect"
  171       inside it.  Example for Unix: >
  172 	:!mkdir ~/.vim
  173 	:!mkdir ~/.vim/ftdetect
  174 <
  175    2. Create a file that contains an autocommand to detect the file type.
  176       Example: >
  177 	au BufRead,BufNewFile *.mine		set filetype=mine
  178 <     Note that there is no "augroup" command, this has already been done
  179       when sourcing your file.  You could also use the pattern "*" and then
  180       check the contents of the file to recognize it.
  181       Write this file as "mine.vim" in the "ftdetect" directory in your user
  182       runtime directory.  For example, for Unix: >
  183 	:w ~/.vim/ftdetect/mine.vim
  184 
  185 <  3. To use the new filetype detection you must restart Vim.
  186 
  187    The files in the "ftdetect" directory are used after all the default
  188    checks, thus they can overrule a previously detected file type.  But you
  189    can also use |:setfiletype| to keep a previously detected filetype.
  190 
  191 B. If you want to detect your file after the default file type checks.
  192 
  193    This works like A above, but instead of setting 'filetype' unconditionally
  194    use ":setfiletype".  This will only set 'filetype' if no file type was
  195    detected yet.  Example: >
  196 	au BufRead,BufNewFile *.txt		setfiletype text
  197 <
  198    You can also use the already detected file type in your command.  For
  199    example, to use the file type "mypascal" when "pascal" has been detected: >
  200 	au BufRead,BufNewFile *		if &ft == 'pascal' | set ft=mypascal
  201 								       | endif
  202 
  203 C. If your file type can be detected by the file name.
  204    1. Create your user runtime directory.  You would normally use the first
  205       item of the 'runtimepath' option.  Example for Unix: >
  206 	:!mkdir ~/.vim
  207 <
  208    2. Create a file that contains autocommands to detect the file type.
  209       Example: >
  210 	" my filetype file
  211 	if exists("did_load_filetypes")
  212 	  finish
  213 	endif
  214 	augroup filetypedetect
  215 	  au! BufRead,BufNewFile *.mine		setfiletype mine
  216 	  au! BufRead,BufNewFile *.xyz		setfiletype drawing
  217 	augroup END
  218 <     Write this file as "filetype.vim" in your user runtime directory.  For
  219       example, for Unix: >
  220 	:w ~/.vim/filetype.vim
  221 
  222 <  3. To use the new filetype detection you must restart Vim.
  223 
  224    Your filetype.vim will be sourced before the default FileType autocommands
  225    have been installed.  Your autocommands will match first, and the
  226    ":setfiletype" command will make sure that no other autocommands will set
  227    'filetype' after this.
  228 							*new-filetype-scripts*
  229 D. If your filetype can only be detected by inspecting the contents of the
  230    file.
  231 
  232    1. Create your user runtime directory.  You would normally use the first
  233       item of the 'runtimepath' option.  Example for Unix: >
  234 	:!mkdir ~/.vim
  235 <
  236    2. Create a vim script file for doing this.  Example: >
  237 	if did_filetype()	" filetype already set..
  238 	  finish		" ..don't do these checks
  239 	endif
  240 	if getline(1) =~ '^#!.*\<mine\>'
  241 	  setfiletype mine
  242 	elseif getline(1) =~? '\<drawing\>'
  243 	  setfiletype drawing
  244 	endif
  245 <     See $VIMRUNTIME/scripts.vim for more examples.
  246       Write this file as "scripts.vim" in your user runtime directory.  For
  247       example, for Unix: >
  248 	:w ~/.vim/scripts.vim
  249 <
  250    3. The detection will work right away, no need to restart Vim.
  251 
  252    Your scripts.vim is loaded before the default checks for file types, which
  253    means that your rules override the default rules in
  254    $VIMRUNTIME/scripts.vim.
  255 
  256 						*remove-filetype*
  257 If a file type is detected that is wrong for you, install a filetype.vim or
  258 scripts.vim to catch it (see above).  You can set 'filetype' to a non-existing
  259 name to avoid that it will be set later anyway: >
  260 	:set filetype=ignored
  261 
  262 If you are setting up a system with many users, and you don't want each user
  263 to add/remove the same filetypes, consider writing the filetype.vim and
  264 scripts.vim files in a runtime directory that is used for everybody.  Check
  265 the 'runtimepath' for a directory to use.  If there isn't one, set
  266 'runtimepath' in the |system-vimrc|.  Be careful to keep the default
  267 directories!
  268 
  269 
  270 						*autocmd-osfiletypes*
  271 NOTE: this code is currently disabled, as the RISC OS implementation was
  272 removed.  In the future this will use the 'filetype' option.
  273 
  274 On operating systems which support storing a file type with the file, you can
  275 specify that an autocommand should only be executed if the file is of a
  276 certain type.
  277 
  278 The actual type checking depends on which platform you are running Vim
  279 on; see your system's documentation for details.
  280 
  281 To use osfiletype checking in an autocommand you should put a list of types to
  282 match in angle brackets in place of a pattern, like this: >
  283 
  284 	:au BufRead *.html,<&faf;HTML>  runtime! syntax/html.vim
  285 
  286 This will match:
  287 
  288 - Any file whose name ends in ".html"
  289 - Any file whose type is "&faf" or "HTML", where the meaning of these types
  290   depends on which version of Vim you are using.
  291   Unknown types are considered NOT to match.
  292 
  293 You can also specify a type and a pattern at the same time (in which case they
  294 must both match): >
  295 
  296 	:au BufRead <&fff>diff*
  297 
  298 This will match files of type "&fff" whose names start with "diff".
  299 
  300 
  301 							*plugin-details*
  302 The "plugin" directory can be in any of the directories in the 'runtimepath'
  303 option.  All of these directories will be searched for plugins and they are
  304 all loaded.  For example, if this command: >
  305 
  306 	set runtimepath
  307 
  308 produces this output:
  309 
  310 	runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim82 ~
  311 
  312 then Vim will load all plugins in these directories and below:
  313 
  314 	/etc/vim/plugin/  ~
  315 	~/.vim/plugin/  ~
  316 	/usr/local/share/vim/vim82/plugin/  ~
  317 
  318 Note that the last one is the value of $VIMRUNTIME which has been expanded.
  319 
  320 Note that when using a plugin manager or |packages| many directories will be
  321 added to 'runtimepath'.  These plugins each require their own directory, don't
  322 put them directly in ~/.vim/plugin.
  323 
  324 What if it looks like your plugin is not being loaded?  You can find out what
  325 happens when Vim starts up by using the |-V| argument: >
  326 
  327 	vim -V2
  328 
  329 You will see a lot of messages, in between them is a remark about loading the
  330 plugins.  It starts with:
  331 
  332 	Searching for "plugin/**/*.vim" in ~
  333 
  334 There you can see where Vim looks for your plugin scripts.
  335 
  336 ==============================================================================
  337 2. Filetype plugin					*filetype-plugins*
  338 
  339 When loading filetype plugins has been enabled |:filetype-plugin-on|, options
  340 will be set and mappings defined.  These are all local to the buffer, they
  341 will not be used for other files.
  342 
  343 Defining mappings for a filetype may get in the way of the mappings you
  344 define yourself.  There are a few ways to avoid this:
  345 1. Set the "maplocalleader" variable to the key sequence you want the mappings
  346    to start with.  Example: >
  347 	:let maplocalleader = ","
  348 <  All mappings will then start with a comma instead of the default, which
  349    is a backslash.  Also see |<LocalLeader>|.
  350 
  351 2. Define your own mapping.  Example: >
  352 	:map ,p <Plug>MailQuote
  353 <  You need to check the description of the plugin file below for the
  354    functionality it offers and the string to map to.
  355    You need to define your own mapping before the plugin is loaded (before
  356    editing a file of that type).  The plugin will then skip installing the
  357    default mapping.
  358 						*no_mail_maps*
  359 3. Disable defining mappings for a specific filetype by setting a variable,
  360    which contains the name of the filetype.  For the "mail" filetype this
  361    would be: >
  362 	:let no_mail_maps = 1
  363 <						*no_plugin_maps*
  364 4. Disable defining mappings for all filetypes by setting a variable: >
  365 	:let no_plugin_maps = 1
  366 <
  367 
  368 							*ftplugin-overrule*
  369 If a global filetype plugin does not do exactly what you want, there are three
  370 ways to change this:
  371 
  372 1. Add a few settings.
  373    You must create a new filetype plugin in a directory early in
  374    'runtimepath'.  For Unix, for example you could use this file: >
  375 	vim ~/.vim/ftplugin/fortran.vim
  376 <  You can set those settings and mappings that you would like to add.  Note
  377    that the global plugin will be loaded after this, it may overrule the
  378    settings that you do here.  If this is the case, you need to use one of the
  379    following two methods.
  380 
  381 2. Make a copy of the plugin and change it.
  382    You must put the copy in a directory early in 'runtimepath'.  For Unix, for
  383    example, you could do this: >
  384 	cp $VIMRUNTIME/ftplugin/fortran.vim ~/.vim/ftplugin/fortran.vim
  385 <  Then you can edit the copied file to your liking.  Since the b:did_ftplugin
  386    variable will be set, the global plugin will not be loaded.
  387    A disadvantage of this method is that when the distributed plugin gets
  388    improved, you will have to copy and modify it again.
  389 
  390 3. Overrule the settings after loading the global plugin.
  391    You must create a new filetype plugin in a directory from the end of
  392    'runtimepath'.  For Unix, for example, you could use this file: >
  393 	vim ~/.vim/after/ftplugin/fortran.vim
  394 <  In this file you can change just those settings that you want to change.
  395 
  396 ==============================================================================
  397 3.  Docs for the default filetype plugins.		*ftplugin-docs*
  398 
  399 
  400 CHANGELOG						*ft-changelog-plugin*
  401 
  402 Allows for easy entrance of Changelog entries in Changelog files.  There are
  403 some commands, mappings, and variables worth exploring:
  404 
  405 Options:
  406 'comments'		is made empty to not mess up formatting.
  407 'textwidth'		is set to 78, which is standard.
  408 'formatoptions'		the 't' flag is added to wrap when inserting text.
  409 
  410 Commands:
  411 NewChangelogEntry	Adds a new Changelog entry in an intelligent fashion
  412 			(see below).
  413 
  414 Local mappings:
  415 <Leader>o		Starts a new Changelog entry in an equally intelligent
  416 			fashion (see below).
  417 
  418 Global mappings:
  419 			NOTE: The global mappings are accessed by sourcing the
  420 			ftplugin/changelog.vim file first, e.g. with >
  421 				runtime ftplugin/changelog.vim
  422 <			in your |.vimrc|.
  423 <Leader>o		Switches to the ChangeLog buffer opened for the
  424 			current directory, or opens it in a new buffer if it
  425 			exists in the current directory.  Then it does the
  426 			same as the local <Leader>o described above.
  427 
  428 Variables:
  429 g:changelog_timeformat  Deprecated; use g:changelog_dateformat instead.
  430 g:changelog_dateformat	The date (and time) format used in ChangeLog entries.
  431 			The format accepted is the same as for the
  432 			|strftime()| function.
  433 			The default is "%Y-%m-%d" which is the standard format
  434 			for many ChangeLog layouts.
  435 g:changelog_username	The name and email address of the user.
  436 			The default is deduced from environment variables and
  437 			system files.  It searches /etc/passwd for the comment
  438 			part of the current user, which informally contains
  439 			the real name of the user up to the first separating
  440 			comma.  then it checks the $NAME environment variable
  441 			and finally runs `whoami` and `hostname` to build an
  442 			email address.  The final form is >
  443 				Full Name  <user@host>
  444 <
  445 g:changelog_new_date_format
  446 			The format to use when creating a new date-entry.
  447 			The following table describes special tokens in the
  448 			string:
  449 				%%	insert a single '%' character
  450 				%d	insert the date from above
  451 				%u	insert the user from above
  452                                 %p	insert result of b:changelog_entry_prefix
  453 				%c	where to position cursor when done
  454 			The default is "%d  %u\n\n\t* %p%c\n\n", which produces
  455 			something like (| is where cursor will be, unless at
  456 			the start of the line where it denotes the beginning
  457 			of the line) >
  458 				|2003-01-14  Full Name  <user@host>
  459 				|
  460 				|        * prefix|
  461 <
  462 g:changelog_new_entry_format
  463 			The format used when creating a new entry.
  464 			The following table describes special tokens in the
  465 			string:
  466                                 %p	insert result of b:changelog_entry_prefix
  467 				%c	where to position cursor when done
  468 			The default is "\t*%c", which produces something
  469 			similar to >
  470 				|        * prefix|
  471 <
  472 g:changelog_date_entry_search
  473 			The search pattern to use when searching for a
  474 			date-entry.
  475 			The same tokens that can be used for
  476 			g:changelog_new_date_format can be used here as well.
  477 			The default is '^\s*%d\_s*%u' which finds lines
  478 			matching the form >
  479 				|2003-01-14  Full Name  <user@host>
  480 <			and some similar formats.
  481 
  482 g:changelog_date_end_entry_search
  483 			The search pattern to use when searching for the end
  484 			of a date-entry.
  485 			The same tokens that can be used for
  486 			g:changelog_new_date_format can be used here as well.
  487 			The default is '^\s*$' which finds lines that contain
  488 			only whitespace or are completely empty.
  489 
  490 b:changelog_name					*b:changelog_name*
  491 			Name of the ChangeLog file to look for.
  492 			The default is 'ChangeLog'.
  493 
  494 b:changelog_path
  495 			Path of the ChangeLog to use for the current buffer.
  496 			The default is empty, thus looking for a file named
  497 			|b:changelog_name| in the same directory as the
  498 			current buffer.  If not found, the parent directory of
  499 			the current buffer is searched.  This continues
  500 			recursively until a file is found or there are no more
  501 			parent directories to search.
  502 
  503 b:changelog_entry_prefix
  504 			Name of a function to call to generate a prefix to a
  505 			new entry.  This function takes no arguments and
  506 			should return a string containing the prefix.
  507 			Returning an empty prefix is fine.
  508 			The default generates the shortest path between the
  509 			ChangeLog's pathname and the current buffers pathname.
  510 			In the future, it will also be possible to use other
  511 			variable contexts for this variable, for example, g:.
  512 
  513 The Changelog entries are inserted where they add the least amount of text.
  514 After figuring out the current date and user, the file is searched for an
  515 entry beginning with the current date and user and if found adds another item
  516 under it.  If not found, a new entry and item is prepended to the beginning of
  517 the Changelog.
  518 
  519 
  520 FORTRAN							*ft-fortran-plugin*
  521 
  522 Options:
  523 'expandtab'	is switched on to avoid tabs as required by the Fortran
  524 		standards unless the user has set fortran_have_tabs in .vimrc.
  525 'textwidth'	is set to 72 for fixed source format as required by the
  526 		Fortran standards and to 80 for free source format.
  527 'formatoptions' is set to break code and comment lines and to preserve long
  528 		lines.  You can format comments with |gq|.
  529 For further discussion of fortran_have_tabs and the method used for the
  530 detection of source format see |ft-fortran-syntax|.
  531 
  532 
  533 GIT COMMIT                                              *ft-gitcommit-plugin*
  534 
  535 One command, :DiffGitCached, is provided to show a diff of the current commit
  536 in the preview window.  It is equivalent to calling "git diff --cached" plus
  537 any arguments given to the command.
  538 
  539 
  540 MAIL							*ft-mail-plugin*
  541 
  542 Options:
  543 'modeline'	is switched off to avoid the danger of trojan horses, and to
  544 		avoid that a Subject line with "Vim:" in it will cause an
  545 		error message.
  546 'textwidth'	is set to 72.  This is often recommended for e-mail.
  547 'formatoptions'  is set to break text lines and to repeat the comment leader
  548 		in new lines, so that a leading ">" for quotes is repeated.
  549 		You can also format quoted text with |gq|.
  550 
  551 Local mappings:
  552 <LocalLeader>q   or   \\MailQuote
  553 	Quotes the text selected in Visual mode, or from the cursor position
  554 	to the end of the file in Normal mode.  This means "> " is inserted in
  555 	each line.
  556 
  557 MAN					*ft-man-plugin* *:Man* *man.vim*
  558 
  559 Displays a manual page in a nice way.  Also see the user manual
  560 |find-manpage|.
  561 
  562 To start using the ":Man" command before any manual page was loaded, source
  563 this script from your startup vimrc file: >
  564 
  565 	runtime ftplugin/man.vim
  566 
  567 Options:
  568 'iskeyword'	the '.' character is added to be able to use CTRL-] on the
  569 		manual page name.
  570 
  571 Commands:
  572 Man {name}	Display the manual page for {name} in a window.
  573 Man {number} {name}
  574 		Display the manual page for {name} in a section {number}.
  575 
  576 Global mapping:
  577 <Leader>K	Displays the manual page for the word under the cursor.
  578 <Plug>ManPreGetPage  idem, allows for using a mapping: >
  579 			nmap <F1> <Plug>ManPreGetPage<CR>
  580 
  581 Local mappings:
  582 CTRL-]		Jump to the manual page for the word under the cursor.
  583 CTRL-T		Jump back to the previous manual page.
  584 q		Same as ":quit"
  585 
  586 To use a vertical split instead of horizontal: >
  587 	let g:ft_man_open_mode = 'vert'
  588 To use a new tab: >
  589 	let g:ft_man_open_mode = 'tab'
  590 
  591 To enable folding use this: >
  592   	let g:ft_man_folding_enable = 1
  593 If you do not like the default folding, use an autocommand to add your desired
  594 folding style instead.  For example: >
  595         autocmd FileType man setlocal foldmethod=indent foldenable
  596 
  597 If you would like :Man {number} {name} to behave like man {number} {name} by
  598 not running man {name} if no page is found, then use this: >
  599 	let g:ft_man_no_sect_fallback = 1
  600 
  601 You may also want to set 'keywordprg' to make the |K| command open a manual
  602 page in a Vim window: >
  603 	set keywordprg=:Man
  604 
  605 
  606 MANPAGER				      *manpager.vim*
  607 
  608 The :Man command allows you to turn Vim into a manpager (that syntax highlights
  609 manpages and follows linked manpages on hitting CTRL-]).
  610 
  611 For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
  612 
  613 	export MANPAGER="vim -M +MANPAGER -"
  614 
  615 For (t)csh, add to the config file
  616 
  617 	setenv MANPAGER "vim -M +MANPAGER -"
  618 
  619 For fish, add to the config file
  620 
  621 	set -x MANPAGER "vim -M +MANPAGER -"
  622 
  623 PDF							*ft-pdf-plugin*
  624 
  625 Two maps, <C-]> and <C-T>, are provided to simulate a tag stack for navigating
  626 the PDF.  The following are treated as tags:
  627 
  628 - The byte offset after "startxref" to the xref table
  629 - The byte offset after the /Prev key in the trailer to an earlier xref table
  630 - A line of the form "0123456789 00000 n" in the xref table
  631 - An object reference like "1 0 R" anywhere in the PDF
  632 
  633 These maps can be disabled with >
  634 	:let g:no_pdf_maps = 1
  635 <
  636 
  637 PYTHON						*ft-python-plugin* *PEP8*
  638 
  639 By default the following options are set, in accordance with PEP8: >
  640 
  641 	setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
  642 
  643 To disable this behavior, set the following variable in your vimrc: >
  644 
  645 	let g:python_recommended_style = 0
  646 
  647 
  648 QF QUICKFIX					    *qf.vim* *ft-qf-plugin*
  649 
  650 The "qf" filetype is used for the quickfix window, see |quickfix-window|.
  651 
  652 The quickfix filetype plugin includes configuration for displaying the command
  653 that produced the quickfix list in the |status-line|. To disable this setting,
  654 configure as follows: >
  655 	:let g:qf_disable_statusline = 1
  656 
  657 
  658 R MARKDOWN						*ft-rmd-plugin*
  659 
  660 By default ftplugin/html.vim is not sourced. If you want it sourced, add to
  661 your |vimrc|: >
  662 	let rmd_include_html = 1
  663 
  664 The 'formatexpr' option is set dynamically with different values for R code
  665 and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
  666 |vimrc|: >
  667 	let rmd_dynamic_comments = 0
  668 
  669 
  670 R RESTRUCTURED TEXT					*ft-rrst-plugin*
  671 
  672 The 'formatexpr' option is set dynamically with different values for R code
  673 and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
  674 your |vimrc|: >
  675 	let rrst_dynamic_comments = 0
  676 
  677 
  678 RESTRUCTUREDTEXT					*ft-rst-plugin*
  679 
  680 The following formatting setting are optionally available: >
  681 	setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
  682 
  683 To enable this behavior, set the following variable in your vimrc: >
  684 	let g:rst_style = 1
  685 
  686 
  687 RPM SPEC						*ft-spec-plugin*
  688 
  689 Since the text for this plugin is rather long it has been put in a separate
  690 file: |pi_spec.txt|.
  691 
  692 
  693 RUST							*ft-rust*
  694 
  695 Since the text for this plugin is rather long it has been put in a separate
  696 file: |ft_rust.txt|.
  697 
  698 
  699 SQL							*ft-sql*
  700 
  701 Since the text for this plugin is rather long it has been put in a separate
  702 file: |ft_sql.txt|.
  703 
  704 
  705 TEX						*ft-tex-plugin* *g:tex_flavor*
  706 
  707 If the first line of a *.tex file has the form >
  708 	%&<format>
  709 then this determined the file type:  plaintex (for plain TeX), context (for
  710 ConTeXt), or tex (for LaTeX).  Otherwise, the file is searched for keywords to
  711 choose context or tex.  If no keywords are found, it defaults to plaintex.
  712 You can change the default by defining the variable g:tex_flavor to the format
  713 (not the file type) you use most.  Use one of these: >
  714 	let g:tex_flavor = "plain"
  715 	let g:tex_flavor = "context"
  716 	let g:tex_flavor = "latex"
  717 Currently no other formats are recognized.
  718 
  719 
  720 VIM							*ft-vim-plugin*
  721 
  722 The Vim filetype plugin defines mappings to move to the start and end of
  723 functions with [[ and ]].  Move around comments with ]" and [".
  724 
  725 The mappings can be disabled with: >
  726 	let g:no_vim_maps = 1
  727 
  728 
  729 ZIMBU							*ft-zimbu-plugin*
  730 
  731 The Zimbu filetype plugin defines mappings to move to the start and end of
  732 functions with [[ and ]].
  733 
  734 The mappings can be disabled with: >
  735 	let g:no_zimbu_maps = 1
  736 <
  737 
  738 
  739  vim:tw=78:ts=8:noet:ft=help:norl: