Manera fácil de obtener resaltado de sintaxis para Julia en Vim

Dec 29 2020

Estoy tratando de que Julia tenga resaltado de sintaxis en Vim. Desafortunadamente, en este momento, no hay resaltado de sintaxis ( aquí hay un pequeño fragmento de mi código para que pueda ver cómo se ve actualmente ). Intenté instalar julia-vim y ponerlo en el archivo .vimrc e instalarlo, pero en realidad no cambia el resaltado. A continuación se muestra el archivo .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

También estoy seguro de cómo solucionarlo después de leer la documentación de julia-vim . ¿Estoy haciendo algo incorrectamente o hay otra forma de agregar algo de resaltado de sintaxis a Julia?

He visto en una de las respuestas a esta pregunta hecha por @Thomas que podría ser cómo configuré mi terminal, pero preferiría mantener el terminal con el esquema de color actual si es posible. Vea aquí mi configuración actual.

EDITAR: Gracias a @axwr, pude obtener un resaltado de sintaxis al poner

  syntax on

al final del archivo .vimrc y luego ejecutando

   :so %

mientras edita el archivo .vimrc. Sin embargo, como puede ver aquí , la codificación de colores parece ser menos que ideal. Solo ciertos paquetes aparecen en amarillo, la mayoría sigue siendo verde y los elementos aleatorios (generalmente números) aparecen en púrpura. ¿Es así como julia-vim colorea las cosas o estoy haciendo algo mal?

Respuestas

4 axwr Dec 29 2020 at 03:04

Bueno entonces.

Hay dos pasos para el resaltado de sintaxis en Vim; activarlo y tener la capacidad de resaltar el idioma específico en el que desea trabajar. Para la mayoría de los idiomas, vim puede hacer esto de forma predeterminada, sin embargo, algunos idiomas, como Julia, requieren un poco de ayuda. En este caso, ha realizado el paso dos utilizando vundle para instalar un complemento de Julia.

Para lograr el paso uno, solo necesita la línea: syntax onen su archivo vimrc. Un ejemplo mínimo de vimrc para usted podría verse así:

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

Dada la configuración anterior, y una terminal que tiene el esquema de colores "solarizado", un archivo julia se ve así:

Aquí está el pequeño fragmento de julia de fizzbuzz para que pueda compararlo con su resaltado:

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

Entonces, paso a paso:

  • Agregue syntax ona su.vimrc
  • Agregue filetype plugin indent ona su.vimrc
  • Instale el complemento correspondiente
  • Obtenga su .vimrcvim o cierre.
  • abra un archivo con la extensión correcta, es decir: test.jl