2017-03-09 90 views
7

我使用gvim和julia-vim编辑朱莉娅代码。我在Mac上使用julia 0.5,并在vulle上安装了julia-vim。朱莉娅vim中的Julia语法高亮

我的问题是扩展名为.jl的文件没有适当的高亮显示。例如,if突出显示,但for不突出显示。任何解决方案?

+0

'ji' extension,or'jl' extension? 你不应该编辑'。ji'文件。 –

+0

'jl'扩展名。对不起,错字。 – Thomas

回答

2

.jl文件有时认为是lisp文件默认情况下,(非Sawfish),所以这可能是语法高亮你得到。 (类型defunprogn和等,看看漂亮的颜色弹出)

当你说的正确的解决方案为:set syntax=julia,你需要的是设置filetype加上一些autocmd magicks要做到这一点,每次你接近你打开一个.jl文件。

把下面的内容中某些文件(例如jl.vim)在ftdetect目录:

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

而且应该这样做。



附录1:改变filetype代替syntax可能需要触发等,这取决于你的问题的根源LaTeX的扩展附加功能,所以这是我在用。


附录2:请注意,这应该已经被julia-vim插件处理,但与其他脚本冲突可以与混乱。您可以使用:scriptnames来查看已加载的脚本以及按何种顺序排列,并尝试调试可能导致冲突的内容,如果您认为这样做是值得的。


附录3:还有相关的是Vundle有需要作出的,当涉及到的文件类型,这样也可能会导致一些这方面的具体配置。然而,我看到这种问题和类似的问题出于各种原因在Vundle之外发生,所以我仍然相信顶端的解决方案是最好的解决方案,并且可能会防止一些未来的麻烦。

+0

太好了。这解决了问题。谢谢! – Thomas

+0

@Thomas你能检查一下LaTeX扩展是否只用':set syntax = julia'?例如键入':\ alpha'然后'Shift-Tab',它应该变成一个字母符号。 (或者不可见,但这只是我的Unicode文盲终端)如果从':set syntax = julia'改为':set filetype = julia'仍然可以解决问题,并且如果它们不在那里,可以启用这些功能吗? – phicr

+1

当我使用':set syntax = julia'时,'.jl'文件仍然被解释为'lisp',因此LaTeX扩展不起作用。他们使用':set filetype = julia'。 – Thomas

2

经过测试julia-vim我认为这个问题可能与您使用的配色方案有关。

尝试使用不同的。

:colorscheme desert

我试了一下内置desert两者iffor被高亮显示(见下文)。

enter image description here

+0

谢谢!不幸的是,这并没有解决问题。我认为那个vim不会自动检测'julia'文件类型。当我使用':set syntax = julia'时,我得到了正确的突出显示。 – Thomas

+0

@Thomas [[ftdetect'设置正确]],这很奇怪(https://github.com/JuliaEditorSupport/julia-vim/blob/master/ftdetect/julia.vim#L8)。 – sbdchd

+0

@sbdchd哦,这是一件事情,不是吗?该插件应该只是处理它。当我第一次通过'vim-plug'安装'julia-vim'时,我遇到了这个问题,并在主ftdetect目录下创建了自己的jl.vim文件。但是现在我只是删除了我的'jl.vim',而不再有这个问题了。嗯。在这一天的其余时间里,花时间去试图弄清楚这一点,我将无法入睡。 – phicr