Enable Vim Syntax Highlighting By Default
Solution 1
Edit your $HOME/.vimrc
(Unix/Linux/OSX) or $HOME/_vimrc
(Windows) to include the following line:
syntax on
EDIT
If your syntax highlighting doesn't work when you start Vim, you probably don't have a
$HOME/.vimrc
or $HOME/_vimrc
(known collectively as vimrc
from now on). In that case, you have two options:
- Create an empty
vimrc
. - Copy
vimrc_example.vim
as yourvimrc
(recommended, thanks @oyenamit). You can findvimrc_example.vim
in the runtime directory.
The location of the runtime directory varies between operating systems:
- On my system (Arch Linux, and Mac, thanks @totophe), it's in
/usr/share/vim/vim73
. - On Windows, it's in
\Program Files\Vim\vim73
.
Solution 2
Also, to highlight the syntax of a Specific File TYPE (or programming language extension), you can use following commands, while file is already opened in Vim and you want to try syntax highlighting on the fly:
:set filetype=php
OR shortcut:
:se ft=php
Above commands will change the syntax-highlighting for currently opened file as it should be for PHP code.
Solution 3
Uncommenting the "syntax on" in vimrc file.
Move to the directory,
cd /etc/vim/
vim vimrc
now search "syntax" and uncomment it. Save it and reopen the file in vim.
Solution 4
For anyone that gets here because of TurnKeyLinux using vim-tiny
which doesn't have the syntax module enabled try this article to install full vim
tl;dr
# apt-get remove vim-tiny
# apt-get install vim
# hash vim
# vim
Solution 5
I also found that this is one of the lessons in vimtutor
.
To find it, you can type command vimtutor
in your Terminal (I used on Mac), and scroll down to see if there is a lesson called CREATE A STARTUP SCRIPT
(for me it was Lesson 7.2), where it describes how to set up an initial vimrc
file.
lilroo
Updated on November 14, 2021Comments
-
lilroo over 2 years
I know how to turn syntax highlighting on and off in vim by running this in the editor:
:syntax on/off
But I want syntax highlighting to be enabled by default, so I don't have to turn it on every time I run vim.
How do I do this?
-
lilroo almost 12 yearsI cant find .vimrc, im using a mac running Lion. I can find .viminfo
-
Ilmo Euro almost 12 yearsIf there isn't one, you can create it. Just type :e ~/.vimrc to vim, type in the line and save (:w).
-
oyenamit almost 12 years@lilroo While this solves your problem, I would advise you against creating a vimrc from scratch. Instead, pickup the example vimrc from the following location: /Applications/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim. Copy this file to your $HOME as .vimrc. It switches on a lot of basic stuff for you automatically (syntax, search highlighting, backup etc). You can then tweak it based on your needs.
-
Sonique over 9 yearsIs there any difference between
syntax on
andsyntax enable
? -
Ilmo Euro over 9 years@Sonique
syntax enable
keeps your color settings,syntax on
overrides them (:help :syn-on
). -
totophe over 8 yearsThe Mac folder is
/usr/share/vim/vim73/
. The one in the response supposes you have installed an extra application. -
Jeremy Davis over 8 yearsFWIW as of v14.0, you can just install vim and it all works as you'd expect (regardless of whether you uninstall vim-tiny or not). It was a bug in the way vim-tiny was configured to run as 'vim'. Now it updates the binary path properly...
-
forzagreen over 6 yearsMake sure you add
syntax on
to/etc/vim/vimrc
file (sudo required), to enable syntax on system-wide files (e.g. config files at /etc/) -
Qback almost 6 yearsNow even
~/.vimrc
is colored :) -
Ender phan over 5 yearsBest way for me. Tks. If you don't have
syntax
just add,syntax enable
. Thensource vimrc
. You got it permanently for later use -
Nebbles over 5 yearsI have trouble with this. Running the tutorial has been fine although I don't have a $VIMRUNTIME set so I have no idea where this vimrc_example.vim is stored.
-
Aron Hoogeveen over 2 yearsThe above method is especially helpful for when you have an unsaved file that you want to set the syntax highlighting for (e.g. when you use vim as a notepad with markdown)