我注意到这个事实试图使用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
...
Vim> 7.3 通常支持 +隐藏功能。
有谁知道为什么苹果在编译时明确排除了隐藏功能?
提前谢谢。
很难说为什么他们会做出这样的选择。只有一个苹果 员工将能够帮助我们解释这一点。但是,我没有 认为它本身就是对conceal
的明确排除。
编译 Vim 时,配置脚本接受一个名为--with-features
控制要启用的一组功能或 禁用。
--with-features=TYPE. tiny, small, normal, big or huge (default: huge)
从 src/自动/配置 L1532
conceal
功能仅在大或大时启用,并且 取决于+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 的更新和完整。 如果您有自制软件 安装后,一个简单的命令就可以了:
$ brew install vim
或者,如果您有MacVim,您也可以使用其内部 通过在 shell 上创建别名或类似的东西来执行。