【问题标题】:Julia syntax highlighting in julia-vimjulia-vim 中的 Julia 语法高亮
【发布时间】:2017-07-30 15:23:16
【问题描述】:

我使用 gvim 和 julia-vim 来编辑 julia 代码。我在 Mac 上使用 julia 0.5 并使用 vundle 安装了 julia-vim。

我的问题是带有.jl 扩展名的文件没有适当的突出显示。例如,if 突出显示,但 for 未突出显示。有什么解决办法吗?

【问题讨论】:

  • ji 分机,还是jl 分机?你不应该编辑.ji 文件。
  • jl 扩展名。抱歉打错了。

标签: vim julia


【解决方案1】:

在测试julia-vim 后,我认为问题可能与您使用的配色方案有关。

尝试使用不同的。

:colorscheme desert

我尝试使用内置的desert 并突出显示iffor(见下文)。

【讨论】:

  • 谢谢!不幸的是,这并没有解决问题。我认为那个 vim 不会自动检测 julia 文件类型。当我使用 :set syntax=julia 时,我得到了正确的突出显示。
  • @Thomas 这和ftdetect is setup correctly 一样奇怪。
  • @sbdchd 哦,这也是一回事,不是吗?该插件应该刚刚处理它。当我第一次通过vim-plug 安装julia-vim 时,我遇到了这个问题,并在ftdetect 主目录中创建了我自己的jl.vim 文件。但现在我刚刚删除了我的 jl.vim 并且不再有问题了。嗯。 Welp 时间花一天剩下的时间来解决这个问题,至少我无法入睡。
  • @sbdchd 我说我没有问题了,但是我在一个 julia 文件中并且 paredit 已打开,我只是输入了一个 slimv 命令并打开了一个 swank 服务器,所以嗯...我想我要把jl.vim 文件放回去。我将编辑我的答案,说明整个混乱的可能原因。
【解决方案2】:

.jl 文件有时默认被识别为lisp 文件,(责备Sawfish)所以这可能是你得到的语法突出显示。 (输入defunprogn 等,看看是否弹出漂亮的颜色)

当您说正确的解决方案是 :set syntax=julia 时,您已经很接近了,您需要设置 filetype 加上一些 autocmd 魔法,以便每次打开 .jl 文件时都会发生这种情况。

在您的ftdetect 目录中的某个文件(例如jl.vim)中添加这样的内容:

autocmd BufRead,BufNewFile *.jl :set filetype=julia

应该这样做。



附录 1:根据问题的根源,可能需要更改 filetype 而不是 syntax 才能触发 LaTeX 扩展等其他功能,所以这就是我正在使用的。


附录 2:请注意,这应该由 julia-vim 插件处理,但与其他脚本的冲突可能会造成混乱。您可以使用:scriptnames 查看已加载的脚本以及加载顺序,并尝试调试可能导致冲突的原因,如果您认为值得麻烦的话。


附录 3:同样相关的是 Vundle 在文件类型方面需要进行一些特定的配置,因此这也可能是造成这种情况的原因。但是,我已经看到在 Vundle 之外发生了类似的问题,原因有很多,所以我仍然相信顶部的解决方案是最好的解决方案,并且可能会避免一些未来的麻烦。

【讨论】:

  • 太棒了。这解决了问题。谢谢!
  • @Thomas 您能否检查一下 LaTeX 扩展是否仅适用于 :set syntax=julia?例如输入:\alpha 然后Shift-Tab 它应该变成一个字母符号。 (或者变得不可见,但这只是我的 Unicode 文盲终端)如果从 :set syntax=julia 更改为 :set filetype=julia 仍然可以解决问题,如果它们不存在则启用这些?
  • 当我使用:set syntax=julia 时,.jl 文件仍被解释为lisp,因此 LaTeX 扩展不起作用。他们与:set filetype=julia合作。
  • @Thomas 感谢您的检查!我很确定这是正确的解决方案,但由于某种原因,这里的语法更改也触发了文件类型更改,所以我无法确认。我不会再打扰你了,祝你编码愉快!
  • 感谢您的帮助!
【解决方案3】:

我发现here 的说明很有效。即

git clone git://github.com/JuliaEditorSupport/julia-vim.git
mkdir -p ~/.vim
cp -R julia-vim/* ~/.vim

注意:我意识到 OP 声称已经使用 Vundle 安装了 Julia-Vim,但我提出这个问题是因为 Vim 自动为我使用 LISP 语法突出显示,以上对我来说已经足够了。所以我分享一下,以防有人和我来自同一条船(即问题与 Vundle 无关):)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-05
    • 2012-08-16
    • 2014-11-14
    • 2011-01-19
    • 2015-08-08
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多