I have some character maps for typing braces that I'd like to behave differently based on the file's extension - I imagine that would be pretty useful ability to have in general.
Any ideas on how to make this happen from my .vimrc or a plugin?
Thank you!
There are basically two ways. Use the filetype plugin, or use filetype or extension autocommands.
The autocommands (placed in your .vimrc/_vimrc) take the form of either
autocmd Filetype cpp set textwidth=100
or
autocmd BufRead *.cpp,*.h,*.c set textwidth=100
(Obviously set textwidth=100
can be replaced with any other command)
The better solution, particularly if you have alot of custom commands for a filetype, is to use the files ~/.vim/after/ftplugin/<filetype>.vim
for each filetype. Commands in those files will be executed after loading a file of the given type.
In complement to jkerian's answer, here are a few links to other questions related to ftplugins (as script-local variables, mappings, command, settings, abbreviations, etc shall be used when writing ft specific configuration):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With