2008-09-08 10 views
10

J'ai regardé le nouveau framework javascript Objective-J/Cappuccino de 280North. Ils fournissent des plug-ins pour SubEthaEdit et TextMate pour gérer la coloration syntaxique, mais j'utilise principalement vi. Est-ce que quelqu'un connaît un moyen de mettre en évidence la syntaxe de Objective-J dans vi, ou un bon moyen de convertir n'importe quel format que les deux autres éditeurs utilisent?Quelqu'un sait-il de la syntaxe Objective-J mettant en évidence dans vi?

Répondre

1

Si la mise en évidence de la syntaxe régulière javascript est assez bon, vous pouvez mapper que pour .J fichiers en ajoutant quelque chose comme ceci dans votre fichier vimrc:

augroup objective-j 
    au! BufRead,BufNewFile *.j set filetype=objective-j 
    au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim 
    augroup END 

Je n'ai pas essayé ce code exact, mais fait quelque chose de similaire lors de la mise en correspondance de la syntaxe C# avec les fichiers .vala sur ma machine Linux. (NOTE: Le fichier javascript.vim peut être situé ailleurs sur votre ordinateur.) Vous pouvez bien sûr faire un fichier objective-j.vim basé sur cette définition de syntaxe javascript.vim au lieu de l'utiliser tel quel.

+0

Ou vous pouvez changer javascript .vim à objj.vim (après avoir copié objj.vim en usr/share/vim/vim72/syntax /). Fonctionne pour moi en utilisant MacVim. – finnsson

10

La source sur github inclut maintenant un module de surbrillance vim .

J'ai trouvé en train de faire tout ce qui est suggéré ici ne suffit pas:

  • télécharger le fichier en tant que Francisco suggère

  • Décompressez, cd Tools/ dir

  • exécuter le shell , sh install-tools

  • Copiez le fichier objj.vim à vim dir, cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/

Problème

J'ai trouvé aucune coloration syntaxique a travaillé pour les fichiers ".j". Donc, le problème ici n'est pas la reconnaissance d'extension de fichier. Si vous utilisez gvim comme je suis, il n'y a pas non plus d'élément de menu.

Ajouter Objective-J à gvim Menu

Pour ajouter un élément de menu dans gvim pour Syntax-> Ne-MO-> Objectif J:

  • sudo vim /usr/share/vim/vim71/synmenu.vim

ajoutez la ligne suivante.

  • an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR> sous l'entrée de l'objectif-C.

enregistrer et quitter

  • :wq!

puis Générez un fichier ".J" dans gvim. Si vous allez alors:

  • Syntax-> Ne-MO-> Objectif J

mettant en lumière pour votre fichier sélectionné J-Objectif devrait se produire.

Mise en surbrillance automatique d'Objective-J?

Mais qu'en est-highlighting automatique lorsque vous chargez le fichier? Il semble n'y avoir aucune association de fichiers. Alors:

  • sudo vim /usr/share/vim/vim7.1/filetype.vim

Dans le fichier, vous trouverez une liste des associations de types de fichiers. Si vous voulez une idée où ajouter la ligne, recherchez "setf ocaml" dans filetype.vim. Ajoutez la ligne ci-dessous ci-dessus (par ordre alphabétique):

  • "" Objective J au BufNewFile,BufRead *.j setf objj

Enregistrer le résultat. Vous devriez maintenant être en mesure de charger un fichier avec une extension ".j" et la coloration syntaxique pour les fichiers Objective-J fonctionne.

Résultat

Maintenant, vous devriez obtenir la reconnaissance automatique des fichiers Objective-J par type de fichier « .J » et un moyen de régler ce type de fichier dans vim. Cela devrait probablement être ajouté par Bram ou celui qui fait la version officielle de vim mais pour le moment ce hack fonctionne pour moi. (Ubuntu 8.10, Vim 7.1)

+0

Si vous utilisez> Vim 7.1/7.2, jetez un oeil à Vimballs (scripts vim install - vba) ~ http://www.vim.org/scripts/script.php?script_id=1502 & http: //www.installationwiki .org/Installing_Vim_Scripts # Installing_Scripts – bootload

5

Voici une autre façon d'ajouter la mise en évidence d'Objective J avec la détection automatique de fichiers à (Mac) Vim et c'est beaucoup plus propre et plus court que la version bootload (il n'ajoutera pas de menu à MacVim , mais je n'en ai pas besoin du tout):

  1. Télécharger le fichier objj.vim mentionné par Francisco.
  2. Placez-le dans ~/.vim/syntax/ (créer un dossier si nécessaire)
  3. Ajouter la ligne au BufNewFile,BufRead *.j setf objj à ~/.vim/filetype.vim
  4. Ne pas oublier d'activer la détection de filetype dans votre fichier de configuration ~/.vimrc: filetype plugin on
Questions connexes