【问题标题】:vimrc - Syntax highlighting not workingvimrc - 语法突出显示不起作用
【发布时间】:2016-05-13 06:42:29
【问题描述】:

这就是我的 .vimrc 包含的内容,为什么我的语法高亮不起作用?

set nocompatible " must be the first line
filetype plugin indent on
syntax on
set laststatus=2
set statusline=%<%f\%h%m%r%=%-20.(line=%l\ \ col=%c%V\ \ totlin=%L%)\ \ \%h%m%r%=%-40(bytval=0x%B,%n%Y%)\%P
set nu
set shortmess=I
set nowrap
set tabstop=2
set backspace=indent,eol,start
set shiftwidth=2
set shiftround
set ignorecase
set smarttab
set hlsearch
set incsearch
set undolevels=1000
set pastetoggle=<F2>
set t_Co=256
colorscheme monokai
let g:user_emmet_leader_key = '<c-y>'
execute pathogen#infect()
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
autocmd vimenter * NERDTree

我的颜色主题有效,但颜色没有正确显示为语法突出显示。

有什么建议吗?

【问题讨论】:

  • 您正在编辑什么文件类型? (:set filetype)
  • :set filetype 正确设置文件类型,主要使用PHP。
  • vim -V 跟踪启动,但它并不总是有帮助。上次我破坏了我的 vimrc 时,我不得不用 /usr/share/vim/vim74/vimrc_example.vim 替换它并添加我的自定义。建议使用该发行版 vimrc 作为基础,因为它包含许多默认设置和修复 - 它旨在开箱即用。
  • :set bg 也可以影响颜色。您可以将其设置为lightdark。另见:help 'bg。您的终端类型是另一件需要检查的事情(echo $TERM 在 shell 中)。
  • 所以这一切似乎都不起作用。问题似乎不是我的 .vimrc,也不是 zsh-configs,也不是 $TERM 变量。必须是与 SuSE 框相关的其他内容。无法控制:/

标签: vim syntax colors terminal


【解决方案1】:

首先,检查输出:

:setlocal syntax?

正确的输出(对于 php 文件)是:

syntax=php

您可以检查 php 语法代码:

:syntax list

您必须使用上述命令查看所有语法代码。如果您没有得到syntax=php 值或在:syntax list 上看不到任何语法代码,那么您的~/.vim/ftplugin 文件夹中可能没有php.vim 文件。当您设置filetype plugin on 并打开一个php 文件时,Vim 所做的就是在您的ftplugin 文件夹中查找php.vim 文件并执行它。

php.vim 是系统文件,默认安装。尝试使用:scriptname 查看所有使用 vim 打开的脚本。如果看不到 php.vim 文件,可以安装StanAngeloff/php.vim 插件。

当且仅当您有一个php.vim 文件并使用:syntax list 查看它的语法,那么外部因素正在影响 Vim 的语法高亮,它可能是您的终端。

【讨论】:

  • 谢谢,原来系统没有任何语法文件。修好了。
猜你喜欢
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 2014-01-22
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 2022-12-21
相关资源
最近更新 更多