2 votes

vim n'accepte pas la syntaxe dans vimrc

Lorsque je mets ce qui suit dans ~/.vimrc et que je l'enregistre,

syntaxe sur

vim obtient des erreurs lors de l'ouverture. Je pense qu'il y a des conflits de configuration de vim. Voici les erreurs :

Erreur détectée lors du traitement de /Users/Home/.vimrc : ligne 1 : E484 : Impossible d'ouvrir le fichier /usr/share/vim/syntaxe/syntaxe.vim

J'apprécierais si vous pouviez m'aider à me débarrasser de ce problème. Je suis sous osx snow loepard 6.8

2voto

jaume Points 13186

Une solution simple et rapide consiste à créer le fichier manquant avec son contenu :

" 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

qui est valable (au moins) pour vim 7.0 à 7.3, car le fichier n'a pas changé depuis des années.

Si l'on y regarde de plus près, il est assez surprenant de constater que vim essaie d'ouvrir /usr/share/vim/syntax/syntax.vim : J'ai vérifié le chemin de syntax.vim sur différentes versions d'OS X et voici ce que j'ai obtenu :

  • OS X 10.8.3 "Mountain Lion" (en anglais)

    /usr/share/vim/vim73/syntax/syntax.vim
  • Mac OS X 10.5.8 "Leopard" (en anglais)

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

Je m'attendais à ce que Mac OS X "Snow Leopard" suive un modèle similaire, alors pourquoi le chemin est-il différent ? Qu'est-ce qui a changé dans vim Avez-vous compilé une version plus récente ou l'avez-vous remplacé ?

Il se peut aussi que /usr/share/vim/vim<version>/syntax/syntax.vim existe, auquel cas, comme alternative, vous pourriez créer un lien :

sudo mkdir -p /usr/share/vim/syntax/
sudo ln /usr/share/vim/vim<version>/syntax/syntax.vim /usr/share/vim/syntax/syntax.vim

0voto

Ramil Points 1

Pour Mac OS Sierra (10.12.6), MacVim 8.0 recherche ce fichier de syntaxe dans /usr/local/bin/vim/runtime/syntaxe/syntaxe.vim

Voici mes étapes :

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

qui devrait résoudre cette erreur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X