vim can';t打开syntax.vim

vim can';t打开syntax.vim,vim,Vim,在my.vimrc中,我有以下代码片段: if has('autocmd') filetype plugin indent on syntax on 但当我启动vim时,它显示以下错误: Can't open file /usr/share/vim/syntax/syntax.vim 在.vimrc中的行上的语法上似乎发生了错误 我没有路径/usr/share/vim/syntax中的syntax.vim,尽管我还有其他类似的clojure.vim cpp.vim java.

在my
.vimrc
中,我有以下代码片段:

if has('autocmd')
    filetype plugin indent on
    syntax on
但当我启动vim时,它显示以下错误:

Can't open file /usr/share/vim/syntax/syntax.vim
.vimrc
中的
行上的
语法上似乎发生了错误

我没有路径
/usr/share/vim/syntax
中的
syntax.vim
,尽管我还有其他类似的
clojure.vim cpp.vim java.vim等…

我搜索了,但似乎找不到默认的
语法。vim
,如果它附带了默认版本的vim


我已经被这件事困扰了一段时间,想得到一些帮助

它应该在那里,这样可能会丢失其他文件。我建议您重新安装

对于QDF,以下是 syntax.vim文件应如下所示:-

" Vim syntax support file
" Maintainer:   Bram Moolenaar <Bram@vim.org>
" Last Change:  2001 Sep 04

" This file is used for ":syntax on".
" It installs the autocommands and starts highlighting for all buffers.

if !has("syntax")
  finish
endif

" If Syntax highlighting appears to be on already, turn it off first, so that
" any leftovers are cleared.
if exists("syntax_on") || exists("syntax_manual")
  so <sfile>:p:h/nosyntax.vim
endif

" Load the Syntax autocommands and set the default methods for highlighting.
runtime syntax/synload.vim

" Load the FileType autocommands if not done yet.
if exists("did_load_filetypes")
  let s:did_ft = 1
else
  filetype on
  let s:did_ft = 0
endif

" Set up the connection between FileType and Syntax autocommands.
" This makes the syntax automatically set when the file type is detected.
augroup syntaxset
  au! FileType *    exe "set syntax=" . expand("<amatch>")
augroup END


" Execute the syntax autocommands for the each buffer.
" If the filetype wasn't detected yet, do that now.
" Always do the syntaxset autocommands, for buffers where the 'filetype'
" already was set manually (e.g., help buffers).
doautoall syntaxset FileType
if !s:did_ft
  doautoall filetypedetect BufRead
endif
Vim语法支持文件 “维护者:布拉姆·穆勒纳 “最后更改:2001年9月4日 “此文件用于“:syntax on”。 “它安装自动命令并开始突出显示所有缓冲区。 if!has(“语法”) 完成 恩迪夫 如果“语法突出显示”似乎已打开,请先将其关闭,以便 “所有的剩菜都被清理干净了。 如果存在(“语法打开”)| |存在(“语法手册”) so:p:h/nosyntax.vim 恩迪夫 “加载语法自动命令并设置突出显示的默认方法。 运行时语法/synload.vim “如果尚未完成,请加载文件类型自动命令。 如果存在(“是否加载文件类型”) 让我们:did_ft=1 其他的 侦测文件类型 让我们:did_ft=0 恩迪夫 “设置文件类型和语法自动命令之间的连接。 “这使得在检测到文件类型时自动设置语法。 奥群综合集合 au!FileType*exe“set syntax=“.expand”(“”) 螺旋端 “为每个缓冲区执行语法自动命令。 “如果尚未检测到文件类型,请立即执行此操作。 对于“文件类型”为 “已手动设置(例如,帮助缓冲区)。 doautoall语法集文件类型 如果 doautoall文件类型检测BufRead 恩迪夫
升级到7.3后,我也遇到了这个问题(我使用的是cygwin)。请检查是否运行“vi”而不是“vim”“也有同样的问题。我发现vim实际上是旧的7.2可执行文件,但语法文件位于7.3预期的位置;vi是正确的7.3可执行文件。

我使用Arch,并使用
vimgit
PKGBUILD从AUR构建vim。对我来说,使用的是官方回购协议中的
vim-git
,而不是AUR中的
vim-runtime-git


切换到
vim runtime git
为我解决了这个问题,并提供了语法文件(以及颜色和…。

我一直在使用源代码编译的
vim
,但没有在我的系统上显式安装它(由于缺少sudo权限)

我可以通过在我的
.bashrc
中添加以下行来解决此问题:

export VIMRUNTIME=<path to cloned vim repo>/runtime
export-VIMRUNTIME=/runtime

因此:将此env变量指向git树中的
运行时
控制器,使vim可以找到所需的文件。

或通过添加/更新
导出VIMRUNTIME=
.bashrc
中链接到vim运行时。从
whereis vim
(或类似)获取路径,但您可能必须添加适当的子目录:
whereis vim
提供
/usr/share/vim
,但
VIMRUNTIME=/usr/share/vim/vimXX