在 Vim 中为 Julia 突出显示语法的简单方法

Jos*_*ath 6 vim terminal color-scheme syntax-highlighting julia

我试图让 Julia 在 Vim 中突出显示语法。不幸的是,目前,我没有语法高亮显示(这是我的代码的一小段,因此您可以看到它当前的样子)。我尝试安装 julia-vim 并将其放入 .vimrc 文件并安装它,但它实际上并没有改变突出显示。下面是 .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
Run Code Online (Sandbox Code Playgroud)

我还注意到在阅读 julia-vim 文档后如何修复它。我做错了什么,还是有另一种方法可以向 Julia 添加一些语法高亮?

我从@Thomas 提出的这个问题的答案之一中看到,这可能是我设置终端的方式,但如果可能的话,我更愿意让终端保持当前的配色方案。请参阅此处了解我当前的设置。

编辑:感谢@axwr,我能够通过将一些语法高亮显示

  syntax on
Run Code Online (Sandbox Code Playgroud)

在 .vimrc 文件的末尾,然后运行

   :so %
Run Code Online (Sandbox Code Playgroud)

在编辑 .vimrc 文件时。但是,正如您在此处看到的,颜色编码似乎不太理想。只有某些包显示为黄色,大多数仍然是绿色,随机的东西(通常是数字)显示为紫色。这是 julia-vim 的颜色,还是我做错了什么?

Sch*_*eme 4

可以,然后呢。

Vim 中语法高亮有两个步骤;实际上打开它,并且能够突出显示您想要使用的特定语言。对于大多数语言,vim 可以默认执行此操作,但是某些语言(例如 Julia)需要一些帮助。在本例中,您已通过使用 vundle 安装 Julia 插件完成了第二步。

要实现第一步,您只需要syntax on在 vimrc 文件中添加以下行:。一个最小的 vimrc 示例可能如下所示:

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
Run Code Online (Sandbox Code Playgroud)

给定上述设置以及具有“solarized”颜色方案的终端,julia 文件如下所示:

在此输入图像描述

这是 Julia 的小片段,您可以与突出显示的内容进行比较:

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
Run Code Online (Sandbox Code Playgroud)

所以,一步一步:

  • 添加syntax on到您的.vimrc
  • 添加filetype plugin indent on到您的.vimrc
  • 安装相关插件
  • 获取你的源.vimrc或关闭 vim。
  • 打开具有正确扩展名的文件,即:test.jl