Un moyen facile d'obtenir la coloration syntaxique pour Julia dans Vim

Dec 29 2020

J'essaie de faire en sorte que Julia ait une coloration syntaxique dans Vim. Malheureusement, pour le moment, il n'y a pas de coloration syntaxique ( voici un petit extrait de mon code pour que vous puissiez voir à quoi il ressemble actuellement ). J'ai essayé d'installer julia-vim et de le mettre dans le fichier .vimrc et de l'installer, mais cela ne change pas la mise en évidence. Voici le fichier .vimrc:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
  set rtp+=~/.vim/bundle/Vundle.vim
 call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
  Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
 Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
  Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own 
   plugin)
  Plugin 'file:///home/gmarik/path/to/plugin'
 " The sparkup vim script is in a subdirectory of this repo called vim.
 " Pass the path to set the runtimepath properly.
 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
 " Install L9 and avoid a Naming conflict if you've already installed a
  " different version somewhere else.
 " Plugin 'ascenator/L9', {'name': 'newL9'}

 " All of your Plugins must be added before the following line
   call vundle#end()            " required
   filetype plugin indent on    " required
  " To ignore plugin indent changes, instead use:
  "filetype plugin on
  "
  " Brief help
  " :PluginList       - lists configured plugins
   " :PluginInstall    - installs plugins; append `!` to update or 
    just :PluginUpdate
   " :PluginSearch foo - searches for foo; append `!` to refresh local cache
   " :PluginClean      - confirms removal of unused plugins; append 
   `!` to auto-approve removal
   "

   Plugin 'JuliaEditorSupport/julia-vim'


  "
  "
  "
  " see :h vundle for more details or wiki for FAQ
  " Put your non-Plugin stuff after this line

Je ne sais pas non plus comment le réparer après avoir lu la documentation julia-vim . Est-ce que je fais quelque chose de mal ou existe-t-il un autre moyen d'ajouter une coloration syntaxique à Julia?

J'ai vu dans l'une des réponses à cette question posée par @Thomas que c'était peut-être la façon dont j'ai configuré mon terminal, mais je préférerais conserver le terminal avec le schéma de couleurs actuel si possible. Voir ici pour mes paramètres actuels.

EDIT: Grâce à @axwr, j'ai pu obtenir une coloration syntaxique en mettant

  syntax on

à la fin du fichier .vimrc puis en cours d'exécution

   :so %

lors de l'édition du fichier .vimrc. Cependant, comme vous pouvez le voir ici , le codage couleur semble être loin d'être idéal. Seuls certains paquets apparaissent en jaune, la majorité est toujours verte et des éléments aléatoires (généralement des nombres) apparaissent en violet. Est-ce ainsi que Julia-vim colore les choses, ou est-ce que je fais quelque chose de mal?

Réponses

4 axwr Dec 29 2020 at 03:04

Bon alors.

Il y a deux étapes pour la coloration syntaxique dans Vim; l'activer et avoir la possibilité de mettre en évidence la langue spécifique dans laquelle vous souhaitez travailler. Pour la plupart des langues, vim peut le faire par défaut, mais certaines langues, comme Julia, nécessitent un peu d'aide. Dans ce cas, vous avez effectué la deuxième étape en utilisant vundle pour installer un plugin Julia.

Pour atteindre la première étape, vous avez juste besoin de la ligne: syntax ondans votre fichier vimrc. Un exemple minimal de vimrc pour vous, pourrait ressembler à:

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'JuliaEditorSupport/julia-vim'
call vundle#end()

set nocompatible
set backspace=indent,eol,start
set number
set hidden

syntax on
filetype plugin indent on

Compte tenu des paramètres ci-dessus et d'un terminal doté du schéma de couleurs "solarisé", un fichier julia ressemble à:

Voici le petit extrait de fizzbuzz julia afin que vous puissiez comparer avec votre mise en évidence:

for i in 1:100
    if i % 15 == 0
        println("FizzBuzz")
    elseif i % 3 == 0
        println("Fizz")
    elseif i % 5 == 0
        println("Buzz")
    else
        println(i)
    end
end

Alors, étape par étape:

  • Ajoutez syntax onà votre.vimrc
  • Ajoutez filetype plugin indent onà votre.vimrc
  • Installez le plugin approprié
  • Source votre .vimrcou fermez vim.
  • ouvrez un fichier avec l'extension correcte, c'est-à-dire: test.jl