15

这是我的.vimrc

  1 syntax on
  2 set ts=4
  3 set number
  4 set smartindent
  5 set shiftwidth=4

但是,我尝试编辑HelloWorld.javaHelloWorld.c. 两者都有纯正的黑色字体。没有任何亮点!

:syntax onvim打开后我也尝试过,但没有运气。

\>vim -version
VIM - Vi IMproved 7.3 (2010 Aug 15)

\>cat /etc/*-release
openSUSE 11.4 (x86_64)
VERSION = 11.4
CODENAME = Celadon
4

6 回答 6

18

当您编辑文件时,您是否使用

vim filename

这很重要。在某些服务器配置中,如果你vi filename有 vim,你会得到 vim,但它是一个非常精简的 vim 版本,与原始 vi 非常相似(除其他外,它不进行语法着色)。在以这种方式配置的系统上,如果您改为键入vim filename,您将获得功能齐全的 vim。

我刚刚与一个在安装了 vim-minimal 包以及另一个 vim 包的服务器上的人一起完成了这个工作。我怀疑(但没有验证)该vim-minimal软件包将其可执行文件安装为/bin/vi.

当您查看实际文件(即ls -l /bin/vivs ls -l /usr/bin/vim)时,差异非常明显——一个大约是大小的十倍。它们实际上都是 vim,版本号和所有内容都相同,但是 /bin/vi 编译时启用的功能很少。

为了使它更加混乱:

vi existing.pl

打开 .pl 文件,没有给出语法着色

vi [enter]

给了vim闪屏,然后从那里

:e existing.pl

打开带有语法着色的文件。

Jan Wilamowski 的评论建议通过以下方式进行检查:

vi --version

如果这表明未编译语法功能,请尝试

vim --version

看看它是否在那里编译。

于 2014-02-19T21:24:11.447 回答
6

您需要vim-data在 openSUSE 上安装该软件包才能使 vim 语法着色工作。听起来很奇怪,我知道这不是默认情况下使用 vim 包引入的,但 AFAIK 它适用于想要创建小型基础安装的人。包 vim-data 包含运行时文件。

还要确保您的远程环境具有适当的TERM变量集 TERM=screen-256color、TERM=xterm、TERM=xterm-256color 应该都可以与 ssh 和 ssh 与 screen/tmux 一起正常工作。

于 2013-08-03T16:51:23.243 回答
3

如果上述所有操作都已完成,并且您看到一些下划线和粗体而不是实际颜色...这可能对您有用:

export TERM=xterm-color
于 2016-08-23T13:48:51.183 回答
2

在你的.vimrc,我没有看到filetype设置。您可以尝试添加:

filetype plugin indent on 

到你的 vimrc。

如果你没有set nocp,也添加这一行。

如果你读:h filetype

:filetype on

Each time a new or existing file is edited, Vim will try to recognize the type
of the file and set the 'filetype' option.  This will trigger the FileType
event, which can be used to set the syntax highlighting, set options, etc.
于 2013-04-23T22:55:13.903 回答
2

For some strange reason on MacOS, 'syntax on' must be the first line in your .vimrc file. The line appears to be ignored if placed elsewhere in the file.

于 2016-01-06T00:00:30.283 回答
2

未提及的一项是:set syntax=<type>,例如:set syntax=markdown

这在上述其他技术不成功的情况下是成功的。

于 2018-07-17T16:17:23.857 回答