Vim'de Julia için sözdizimi vurgulamanın kolay yolu

Dec 29 2020

Julia'nın Vim'de sözdizimi vurgulamasına sahip olmasını sağlamaya çalışıyorum. Ne yazık ki, şu anda sözdizimi vurgulama yok ( burada kodumun küçük bir parçası, böylece şu anda neye benzediğini görebilirsiniz ). Julia-vim'i kurmayı ve onu .vimrc dosyasına koymayı denedim ama aslında vurgulamayı değiştirmiyor. .Vimrc dosyası aşağıdadır:

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

Julia-vim belgelerini okuduktan sonra nasıl düzelteceğime de eminim . Yanlış bir şey mi yapıyorum yoksa Julia'ya bazı sözdizimi vurgulamaları eklemenin başka bir yolu var mı?

@Thomas tarafından sorulan bu soruya verilen cevaplardan birinden terminalimi nasıl kurmuş olabileceğimi gördüm, ancak mümkünse terminali mevcut renk şemasında tutmayı tercih ederim. Mevcut ayarlarım için buraya bakın.

DÜZENLEME: @axwr sayesinde, bazı söz dizimi vurgulamalarını

  syntax on

.vimrc dosyasının sonunda ve ardından

   :so %

.vimrc dosyasını düzenlerken. Bununla birlikte, burada gördüğünüz gibi, renk kodlaması idealden daha az görünüyor. Yalnızca belirli paketler sarı olarak çıkar, çoğunluğu hala yeşildir ve rastgele şeyler (genellikle sayılar) mor olarak çıkar. Julia-vim olayları böyle mi renklendiriyor yoksa ben yanlış bir şey mi yapıyorum?

Yanıtlar

4 axwr Dec 29 2020 at 03:04

Tamam, öyleyse.

Vim'de sözdizimi vurgulamanın iki adımı vardır; aslında onu açmak ve çalışmak istediğiniz belirli dili vurgulama yeteneğine sahip olmak. Çoğu dil için vim bunu varsayılan olarak yapabilir, ancak Julia gibi bazı diller biraz yardıma ihtiyaç duyar. Bu durumda, bir Julia eklentisi yüklemek için vundle kullanarak ikinci adımı tamamladınız.

Birinci adıma ulaşmak için, vimrc syntax ondosyanızda : satırına ihtiyacınız var . Sizin için minimal bir örnek vimrc şöyle görünebilir:

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

Yukarıdaki ayarlar ve "solarize" renk şemasına sahip bir terminal verildiğinde, julia dosyası şöyle görünür:

İşte küçük fizzbuzz julia pasajı, böylece vurgulamalarınızla karşılaştırabilirsiniz:

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

Yani, adım adım:

  • Ekle syntax oniçin senin.vimrc
  • Ekle filetype plugin indent oniçin senin.vimrc
  • İlgili eklentiyi yükleyin
  • Kaynağınızı .vimrcveya yakın vim'inizi kaynaklayın.
  • doğru uzantıya sahip bir dosya açın, yani: test.jl