vim non accetta la sintassi in vimrc

2

Quando inserisco quanto segue in ~ / .vimrc e lo salvo,

syntax on

vim ottenere errori durante l'apertura. Penso che ci siano alcuni conflitti di configurazione vim. Di seguito gli errori:

Error detected while processing /Users/Home/.vimrc: line 1: E484: Can't open file /usr/share/vim/syntax/syntax.vim

Sarei grato se puoi aiutare a liberarti di questo problema. Sto usando osx snow loepard 6.8

    
posta user1098135 12.05.2013 - 20:35
fonte

2 risposte

2

Una soluzione rapida e sporca consiste nel creare il file mancante con i contenuti:

" 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

che è valido (almeno) per vim da 7.0 a 7.3, poiché il file non è cambiato da anni.

Se osservi da vicino, però, è abbastanza sorprendente che vim provi ad aprire /usr/share/vim/syntax/syntax.vim : ho controllato il percorso di syntax.vim su diverse versioni di OS X e questo è quello che ho ottenuto:

  • OS X 10.8.3 "Leone di montagna"

    /usr/share/vim/vim73/syntax/syntax.vim
    
  • Mac OS X 10.5.8 "Leopard"

    /usr/share/vim/vim70/syntax/syntax.vim
    /usr/share/vim/vim72/syntax/syntax.vim
    

Mi aspetto che Mac OS X "Snow Leopard" segua uno schema simile, quindi perché il percorso è diverso? Cosa è cambiato in vim , hai compilato una versione più recente o l'hai sostituita?

Potrebbe anche essere che /usr/share/vim/vim<version>/syntax/syntax.vim esista, nel qual caso, in alternativa, potresti creare un link:

sudo mkdir -p /usr/share/vim/syntax/
sudo ln /usr/share/vim/vim<version>/syntax/syntax.vim /usr/share/vim/syntax/syntax.vim
    
risposta data 17.05.2013 - 23:50
fonte
0

Per Mac OS Sierra (10.12.6) MacVim 8.0 cerca questo file di sintassi in /usr/local/bin/vim/runtime/syntax/syntax.vim

Ecco i miei passi:

sudo mkdir -p /usr/local/bin/vim/runtime/syntax/
sudo cp /usr/share/vim/vim74/syntax/syntax.vim /usr/local/bin/vim/runtime/syntax/

che dovrebbe risolvere questo errore.

    
risposta data 25.09.2017 - 19:30
fonte

Leggi altre domande sui tag