现在我正在使用::
与->
合作Objective Perl。
但是,Vim无法识别预先附加::
的标记。
有没有办法解决这个问题?
ex)当它是Foo-> foo()时我可以跳,但是不能做一次BAR :: bar()。
答案 0 :(得分:1)
更新:由于我没有显示失败的代码示例,因此我尝试找到有用的内容。正如我在下面所述,基本的Vim不具备自定义标记的功能,但是Vim的插件可以让你更进一步。 Fritz Mehner的perl-support.vim插件已存在多年,并且相当不错:
http://www.vim.org/scripts/script.php?script_id=556
Valloric有一个新的插件,在这里有很多语言支持(但这是我个人尝试过的):
https://valloric.github.io/YouCompleteMe/
原帖:
嗯,通常当我在Perl中编写比命令行脚本或文件中的少数几行更复杂的东西时,我使用emacs作为我的编辑器,而不是vim,因为emacs与调试器挂钩并且坦率地说更好地支持复杂的语法。在emacs中有本机perl支持,但更好的是在emacs中的cperl模式。它会有很多花里胡哨的东西,它真的是你想要的。
我经常使用Vim作为基本编辑器,但我认为Objective Perl中的编码可以让你到达那个不会像你一样健壮的地方。
要进入cperl模式,您可以在.emacs文件中添加以下行:
;;; cperl-mode优于perl-mode
;;; "简洁是机智的灵魂"
(defalias' perl-mode' cperl-mode)
您可以在EmacsWiki上看到更多相关信息:
http://www.emacswiki.org/emacs/CPerlMode
(我在这里想说的是,在Vim for :: and - >语法中获得支持可能需要自定义标记,而且在Vim basic中并不存在。相反,有像Fritz Mehner的perl-support.vim这样的软件包可能会有所帮助,但实际上,Vim并不是最好的编辑器,你可以通过类(包)跳转到复杂的语法。你必须添加一个插件,或者你必须找到另一个解决方案。)