Cara mudah untuk mendapatkan penyorotan sintaks untuk Julia di Vim

Dec 29 2020

Saya mencoba membuat Julia memiliki penyorotan sintaks di Vim. Sayangnya, saat ini, saya tidak ada penyorotan sintaks ( berikut adalah potongan kecil kode saya sehingga Anda dapat melihat seperti apa tampilannya saat ini ). Saya mencoba menginstal julia-vim dan meletakkannya di file .vimrc dan menginstalnya, tetapi itu tidak benar-benar mengubah penyorotan. Di bawah ini adalah file .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

Saya juga perhatikan cara memperbaikinya setelah membaca dokumentasi julia-vim . Apakah saya melakukan sesuatu yang salah, atau adakah cara lain untuk menambahkan beberapa penyorotan sintaks ke Julia?

Saya telah melihat dari salah satu jawaban atas pertanyaan yang diajukan oleh @Thomas ini bahwa mungkin cara saya menyiapkan terminal saya, tetapi saya lebih suka menyimpan terminal dengan skema warna saat ini jika memungkinkan. Lihat di sini untuk pengaturan saya saat ini.

EDIT: Terima kasih kepada @axwr, saya bisa mendapatkan beberapa penyorotan sintaks dengan meletakkan

  syntax on

di akhir file .vimrc dan kemudian menjalankan

   :so %

saat mengedit file .vimrc. Namun, seperti yang Anda lihat di sini , kode warna tampaknya kurang ideal. Hanya paket tertentu yang berwarna kuning, mayoritas masih hijau, dan hal-hal acak (biasanya angka) muncul sebagai ungu. Apakah ini cara julia-vim mewarnai sesuatu, atau apakah saya melakukan sesuatu yang salah?

Jawaban

4 axwr Dec 29 2020 at 03:04

Oke, jadi.

Ada dua langkah untuk penyorotan sintaks di Vim; benar-benar menyalakannya, dan, memiliki kemampuan untuk menyorot bahasa tertentu yang ingin Anda gunakan. Untuk sebagian besar bahasa vim dapat melakukan ini secara default, namun beberapa bahasa, seperti Julia, memerlukan sedikit bantuan. Dalam hal ini Anda telah melakukan langkah kedua dengan menggunakan vundle untuk menginstal plugin Julia.

Untuk mencapai langkah pertama, Anda hanya perlu baris: syntax ondi file vimrc Anda. Contoh vimrc minimal untuk Anda, mungkin terlihat seperti:

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

Dengan pengaturan di atas, dan terminal yang memiliki skema warna "solarised", file julia terlihat seperti:

Berikut adalah potongan julia fizzbuzz kecil sehingga Anda dapat membandingkannya dengan sorotan Anda:

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

Jadi, Langkah demi langkah:

  • Tambahkan syntax onke.vimrc
  • Tambahkan filetype plugin indent onke.vimrc
  • Instal plugin yang relevan
  • Sumber .vimrcvim Anda atau dekat.
  • buka file dengan ekstensi yang benar, yaitu: test.jl