2010-09-23 6 views
1

В моей .vimrc У меня есть следующий фрагмент кода:ВИМ не может открыть syntax.vim

if has('autocmd') 
    filetype plugin indent on 
    syntax on 

, но когда я начинаю Vim он показывает следующее сообщение об ошибке:

Can't open file /usr/share/vim/syntax/syntax.vim 

ошибка, кажется, произошло на syntax on линия в .vimrc.

Я не syntax.vim в пути /usr/share/vim/syntax, хотя у меня есть другие, как clojure.vim cpp.vim java.vim etc...

я искал, но не могу найти по умолчанию syntax.vim, если она поставляется с версией Vim по умолчанию.

Я застрял с этим некоторое время и хотел бы помочь.

ответ

0

Должно быть, так что могут отсутствовать другие файлы. Я бы предложил вам переустановить !.

Для ФРК здесь является то, что файл syntax.vim должен выглядеть следующим образом: -

" Vim syntax support file 
" Maintainer: Bram Moolenaar <[email protected]> 
" 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 
0

Я имел эту проблему, а после обновления до 7.3 (я использую Cygwin). Проверьте, работает ли «vi» вместо «vim». Я обнаружил, что vim на самом деле был старым исполняемым файлом 7.2, но файлы синтаксиса находились в ожидаемом месте 7.3; vi был правильным 7.3 исполняемым файлом.

Смежные вопросы