Łatwy sposób na podświetlanie składni Julii w Vimie

Dec 29 2020

Próbuję sprawić, by Julia miała podświetlanie składni w Vimie. Niestety w tej chwili nie ma podświetlania składni ( tutaj jest mały fragment mojego kodu, więc możesz zobaczyć, jak obecnie wygląda ). Próbowałem zainstalować julia-vim, umieścić ją w pliku .vimrc i zainstalować, ale tak naprawdę nie zmienia to podświetlenia. Poniżej znajduje się plik .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

Jestem również pewien, jak to naprawić po przeczytaniu dokumentacji julia-vim . Czy robię coś niepoprawnie, czy jest inny sposób na dodanie podświetlania składni do Julii?

Z jednej z odpowiedzi na to pytanie zadanego przez @Thomas widziałem , że może tak skonfigurować mój terminal, ale wolałbym zachować terminal z obecnym schematem kolorów, jeśli to możliwe. Zobacz tutaj moje aktualne ustawienia.

EDYCJA: Dzięki @axwr udało mi się uzyskać podświetlanie składni przez umieszczenie

  syntax on

na końcu pliku .vimrc, a następnie uruchomione

   :so %

podczas edycji pliku .vimrc. Jednak, jak widać tutaj , kodowanie kolorami wydaje się być mniej niż idealne. Tylko niektóre pakiety pojawiają się na żółto, większość jest nadal zielona, ​​a losowe elementy (zwykle liczby) pojawiają się na fioletowo. Czy tak julia-vim koloruje rzeczy, czy ja robię coś źle?

Odpowiedzi

4 axwr Dec 29 2020 at 03:04

Dobrze, więc.

Podświetlanie składni w Vimie składa się z dwóch kroków; faktycznie go włącza i mając możliwość podświetlenia konkretnego języka, w którym chcesz pracować. W większości języków vim może to zrobić domyślnie, jednak niektóre języki, takie jak Julia, wymagają niewielkiej pomocy. W tym przypadku wykonałeś krok drugi, używając vundle do zainstalowania wtyczki Julia.

Aby wykonać pierwszy krok, potrzebujesz tylko linii: syntax onw swoim pliku vimrc. Minimalny przykład vimrc dla Ciebie, może wyglądać następująco:

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

Biorąc pod uwagę powyższe ustawienia i terminal ze schematem kolorów „solaryzacji”, plik julia wygląda następująco:

Oto mały fragment Julia typu fizzbuzz, który możesz porównać z wyróżnieniem:

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

Tak więc krok po kroku:

  • Dodaj syntax ondo swojego.vimrc
  • Dodaj filetype plugin indent ondo swojego.vimrc
  • Zainstaluj odpowiednią wtyczkę
  • Znajdź swój .vimrclub zamknij vim.
  • otwórz plik z poprawnym rozszerzeniem, czyli: test.jl