My to-do list is a plain text .txt file that I load in Vim. In .txt files Vim has always coloured hash marks (#) and the text following them on the same line, which I use to mark out urgent to-do items. The other day this highlighting disappeared and I can't for the life of me see how to restore it. I've turned on all the syntax and filetype commands I can find. Should I have a text.vim or txt.vim syntax file that I might've deleted without realising? It feels like there should be a simple solution, but I can't find anything approaching a simple solution from googling round - I'm certainly not going to reinstall, write a custom syntax file, use a complex script, etc., I just want the default behaviour back.
2 Answers
I don't think that your Vim is broken. Try putting a hash mark (#) at the beginning of the first line in the file. When Vim sees this, it sets the filetype to conf (for a configuration file). As far as I know, Vim does not syntax color vanilla text files.
-
4The straight forward way to force a filetype is a modeline, e.g.
# vim: set filetype=conf :
. Also, asciidoc comes with syntax highlighting for.txt
files (but no, hashed lines are not colored specially). Nov 30, 2010 at 14:46 -
Wow! erichui and honk, that did the trick - I set filetype to Generic config, saved and quit and all is well again in todo-land. Thank you!– Vim userNov 30, 2010 at 14:54
-
-
1
#
in the beginning text file is not working(i.e syntax highlight asconf
) in gvim anymore after I updated to8.0.3
– JeanJan 24, 2019 at 14:40
Vim supports modelines. To force coloring the file as conf
(erichui's answer), put the following line at the end or beginning of your file:
# vim: syntax=conf
This sets vim's internal variable syntax
to conf
.
Note: you could also set filetype
(ft
) instead of syntax
.
-
1Put it into the
vimrc
to enable this for alltxt
files:echo "autocmd BufRead,BufNewFile *.txt set syntax=conf" >> ~/.vimrc
– dr0iApr 17, 2020 at 9:11