我注意到这个事实试图使用Yggdroot/indentLine plugin,这需要隐藏功能。
$ /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
...
Vim> 7.3通常支持+隐藏功能。
有人知道为什么苹果在编译时会明确排除隐藏功能吗?
谢谢。
答案 0 :(得分:3)
很难说出他们为什么要这么做。只有一个苹果
员工将能够帮助我们解释这一点。但是我不
认为这是对conceal
的明确排除。
编译Vim时,配置脚本接受一个名为
--with-features
,用于控制要启用的一组功能或
禁用。
--with-features=TYPE. tiny, small, normal, big or huge (default: huge)
来自src/auto/configure L1532的
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
来自src/feature.h L496-502的
您可以看到一个便捷列表,其中列出了每个功能集
检查:h +feature-list
。因此,从其他功能来看,
说conceal
被禁用只是因为它们正在使用
功能集选项--with-features=normal
。
强烈建议安装更新和更完整的Vim。 替换系统程序可能不是最佳选择,但这确实是 为什么有很多替代方法可以做到正确 并保持Vim更新和完善。如果您有Homebrew 安装后,将执行一个简单的命令:
$ brew install vim
或者,如果您有MacVim,也可以使用其内部 通过在您的shell或类似名称上创建别名来执行。