Uma maneira fácil de obter destaque de sintaxe para Julia no Vim

Dec 29 2020

Estou tentando fazer com que Julia tenha destaque de sintaxe no Vim. Infelizmente, no momento, não há realce de sintaxe ( aqui está um pequeno trecho do meu código para que você possa ver como ele se parece atualmente ). Tentei instalar o julia-vim e colocá-lo no arquivo .vimrc e instalá-lo, mas isso não altera o realce. Abaixo está o arquivo .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

Também tenho certeza de como consertá-lo depois de ler a documentação do julia-vim . Estou fazendo algo incorreto ou há outra maneira de adicionar realce de sintaxe a Julia?

Eu vi em uma das respostas a esta pergunta feita por @Thomas que pode ser como eu configurei meu terminal, mas eu prefiro manter o terminal com o esquema de cores atual, se possível. Veja aqui minhas configurações atuais.

EDIT: Graças a @axwr, consegui realçar a sintaxe colocando

  syntax on

no final do arquivo .vimrc e, em seguida, executando

   :so %

ao editar o arquivo .vimrc. No entanto, como você pode ver aqui , o código de cores parece não ser o ideal. Apenas alguns pacotes aparecem em amarelo, a maioria ainda é verde e coisas aleatórias (geralmente números) aparecem em roxo. É assim que julia-vim colore as coisas ou estou fazendo algo errado?

Respostas

4 axwr Dec 29 2020 at 03:04

OK, então.

Existem duas etapas para realçar a sintaxe no Vim; realmente ativando-o e tendo a capacidade de destacar o idioma específico com o qual deseja trabalhar. Para a maioria dos idiomas, o vim pode fazer isso por padrão, no entanto, alguns idiomas, como Julia, requerem um pouco de ajuda. Neste caso, você executou a etapa dois usando o vundle para instalar um plugin Julia.

Para cumprir a etapa um, você só precisa da linha: syntax onem seu arquivo vimrc. Um exemplo mínimo de vimrc para você, pode ser parecido com:

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

Dadas as configurações acima e um terminal que tem o esquema de cores "solarizado", um arquivo julia se parece com:

Aqui está o pequeno snippet fizzbuzz julia para que você possa comparar com o seu destaque:

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

Então, passo a passo:

  • Adicione syntax onao seu.vimrc
  • Adicione filetype plugin indent onao seu.vimrc
  • Instale o plugin relevante
  • Obtenha o seu .vimrcou feche o vim.
  • abra um arquivo com a extensão correta, ou seja: test.jl