默认启用Vim语法高亮


121

我知道如何通过在编辑器中运行以下命令来在vim中打开和关闭语法突出显示:

:syntax on/off

但是我希望默认情况下启用语法高亮显示,因此不必每次运行vim时都将其打开。

我该怎么做呢?


2
也许转移到Vim Stack Exchange?
QuantumFool

Answers:


178

编辑您的$HOME/.vimrc(Unix / Linux / OSX)或$HOME/_vimrc(Windows)以包括以下行:

syntax on

编辑

如果启动Vim时语法突出显示不起作用,则可能没有 $HOME/.vimrcor或$HOME/_vimrcvimrc从现在起统称为)。在这种情况下,您有两种选择:

  • 创建一个空的 vimrc
  • 复制vimrc_example.vim为您的vimrc(推荐,谢谢@oyenamit)。您可以vimrc_example.vim在运行时目录中找到。

运行时目录的位置因操作系统而异:

  • 在我的系统(Arch Linux和Mac,感谢@totophe)上,它位于 /usr/share/vim/vim73
  • 在Windows中,它位于中\Program Files\Vim\vim73

1
我找不到.vimrc,即时通讯使用的是运行Lion的Mac。我可以找到.viminfo
lilroo 2012年

7
如果没有,则可以创建它。只需输入:e〜/ .vimrc到vim,在该行中输入并保存(:w)。
Ilmo Euro 2012年

6
@lilroo虽然这可以解决您的问题,但我建议您不要从头创建vimrc。而是从以下位置获取示例vimrc:/Applications/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim。将该文件复制为.vimrc到$ HOME。它会自动为您打开许多基本内容(语法,搜索突出显示,备份等)。然后,您可以根据需要进行调整。
oyenamit 2012年

3
有什么区别syntax onsyntax enable
索尼克2014年

4
@Sonique syntax enable保留您的颜色设置,并syntax on覆盖它们(:help :syn-on)。
Ilmo Euro

8

另外,要突出显示文件中语法(或编程语言)的特定类型,可以在Vim中已打开文件的情况下使用以下命令:

:set filetype=php

或捷径:

:se ft=php

上面的命令将更改当前文件的语法突出显示,就像突出显示PHP代码一样。


6

在vimrc文件中取消注释“语法”。

移至目录,

cd /etc/vim/

vim vimrc

现在搜索“语法” 并取消注释。保存并在vim中重新打开文件。


1
对我来说最好的方法。Tks。如果您还没有syntax添加,syntax enable。然后source vimrc。您永久获得它以备后用
Ender phan

3

对于因使用TurnKeyLinux而未vim-tiny启用语法模块而到达此处的任何人,请尝试本文以完整安装vim

http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found-after-replacing-package

tl; dr

# apt-get remove vim-tiny
# apt-get install vim
# hash vim
# vim

1
从v14.0开始的FWIW,您只需安装vim即可正常运行(无论是否卸载vim-tiny)。vim-tiny被配置为以'vim'运行的方式是一个错误。现在,它可以正确更新二进制路径了……
Jeremy Davis

1

我还发现这是的经验教训之一vimtutor

要找到它,可以vimtutor在终端机(我在Mac上使用的终端机)中键入command ,然后向下滚动以查看是否有一个名为CREATE A STARTUP SCRIPT(对于我来说是7.2节)的课程,其中描述了如何设置初始vimrc文件。


我对此有麻烦。尽管没有设置$ VIMRUNTIME,但运行该教程的工作很好,所以我不知道此vimrc_example.vim的存储位置。
Nebbles

0

在我的插件中,$HOME/.vimrc我加载了一个配色方案(发现),并发现我需要在插件加载syntax on 放置。如果是在加载插件之前,则无法使用。

" this turns syntax highlighting on by default

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'

syntax on
" this does not turn syntax highlighting on by default

syntax on

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.