Akk*_*kky 3 macos vim cross-compiling vim-plugin
我注意到这个事实试图使用Yggdroot/indentLine 插件,它需要隐藏功能。
$ /usr/bin/vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Nov 29 2017 18:37:46)
Included patches: 1-503, 505-680, 682-1283
Compiled by root@apple.com
Normal version without GUI. Features included (+) or not (-):
...
-conceal +libcall -profile +visualextra
...
Run Code Online (Sandbox Code Playgroud)
Vim > 7.3 通常支持+隐藏功能。
有人知道为什么苹果在编译时明确排除隐藏功能吗?
提前致谢。
很难说为什么他们会做出这样的选择。只有 Apple 员工才能帮助我们解释这一点。但是,我不认为这conceal本身就是明确的排除。
当您编译 Vim 时,配置脚本接受一个名为的选项,该选项
--with-features 控制一组要启用或禁用的功能。
--with-features=TYPE. tiny, small, normal, big or huge (default: huge)
Run Code Online (Sandbox Code Playgroud)
该 conceal 功能仅在big 或 huge启用 ,并依赖于+syntax:
/*
* +conceal 'conceal' option. Needs syntax highlighting
* as this is how the concealed text is defined.
*/
#if defined(FEAT_BIG) && defined(FEAT_SYN_HL)
# define FEAT_CONCEAL
#endif
Run Code Online (Sandbox Code Playgroud)
您可以通过检查查看每个功能集中包含的内容的方便列表:h +feature-list。因此,从其他功能来看,我会说 conceal被禁用只是因为它们使用功能集选项进行编译--with-features=normal。
强烈建议安装更新和更完整的 Vim。更换系统程序可能不是最佳选择,但这正是为什么有很多替代方案可以确保正确执行并保持 Vim 更新和完整。如果你 安装了Homebrew,一个简单的命令就可以了:
$ brew install vim
Run Code Online (Sandbox Code Playgroud)
或者,如果你有 MacVim,你也可以通过在你的 shell 或类似的东西上创建别名来使用它的内部可执行文件。