mirror of
https://github.com/vim/vim.git
synced 2026-08-18 06:57:53 +02:00
81ca9916d2
Filetype plugins should not assume they are the only file to execute on behalf of a buffer's filetype: other filetypes may use them, and dotted filetypes may cause multiple to run. When this occurs, they should _build_ on their respective b:undo_ftplugin settings, not overwrite each other. For example, when using a dotted filetype wiki.markdown, the wiki filetype plugins go first. Then, during the markdown filetype plugins, the HTML plugin's unconditional assignment to b:undo_ftplugin trashes any data previously stored there by the wiki filetype. Follow the pattern elsewhere of assigning or appending conditionally. closes: #18267 Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com> Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
The ftplugin directory is for Vim plugin scripts that are only used for a specific filetype. All files ending in .vim in this directory and subdirectories will be sourced by Vim when it detects the filetype that matches the name of the file or subdirectory. For example, these are all loaded for the "c" filetype: c.vim c_extra.vim c/settings.vim Note that the "_" in "c_extra.vim" is required to separate the filetype name from the following arbitrary name. The filetype plugins are only loaded when the ":filetype plugin" command has been used. The default filetype plugin files contain settings that 95% of the users will want to use. They do not contain personal preferences, like the value of 'shiftwidth'. If you want to do additional settings, or overrule the default filetype plugin, you can create your own plugin file. See ":help ftplugin" in Vim.