How do I set up a default syntax for files that have no extension in vim?
If I remeber it right you can put a file named syntax.vim inside your ~/.vim/syntax folder. This file is used as default syntax highlight source. If your .vim folder does not exist, you have to create it:
mkdir ~/.vim
mkdir ~/.vim/syntax
touch ~/.vim/syntax/syntax.vim
Now you can add your default syntax to the syntax.vim file. For further documentation you can look at the vim sourceforge page.
Hope this helps.
One way would be to add an autocommand to your .vimrc
for files that don't have the syntax set:
au BufNewFile,BufRead * if &syntax == '' | set syntax=html | endif
Or, you could set the filetype for any file that it's not defined for:
filetype plugin on
au BufNewFile,BufRead * if &ft == '' | set ft=html | endif
Setting filetype plugin on
along with the au
command gives the added benefit of loading HTML plugins if you have any. This also sets the syntax to "html" as well.
To pick the default syntax for files without an extension, you can create an autocommand that checks if the filename contains a .
, and if not, switches to the desired syntax:
autocmd BufNewFile,BufRead * if expand('%:t') !~ '\.' | set syntax=perl | endif
This one picks perl
as a default syntax, but you can simply use whichever is appropriate.