[英]Activate VIM folding markers via modeline
我试图弄清楚为什么折叠不能与多行注释一起使用并且我没有想法。
让我们考虑这样的例子:
#include <stdio.h>
#include <stdlib.h>
void
panic(void) /* {{{ */
{
abort();
}
/* }}} */
void
say_hello(void) /* {{{ */
{
printf("Hello, World \n");
}
/* }}} */
void
say_goodbye(void) /* {{{ */
{
printf("Good Bye, World \n");
panic();
}
/* }}} */
int
main(void) /* {{{ */
{
void (*message) (void);
message = say_goodbye;
message();
message = say_hello;
message();
return 0;
}
/* }}} */
以下模式行按预期方式工作。 打开文件时,我看到所有代码都被折叠了:
/* vim600: set noet sw=4 ts=4 fdm=marker : */
和
// vim600: noet sw=4 ts=4 fdm=marker
命令:verbose set syntax filetype foldmethod foldexpr
显示预期的输出
syntax=c
Last set from /usr/share/vim/vim74/syntax/syntax.vim
filetype=c
Last set from /usr/share/vim/vim74/filetype.vim
foldmethod=marker
Last set from modeline
foldexpr=0
但是,多行注释的任何变体都无法提供预期的结果。 例如:
/*
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/
甚至
/* Modeline for ViM {{{
* vim: noet:sw=4:ts=4
* vim600: noet:sw=4:ts=4:fdm=marker
* }}} */
打开文件时不会自动折叠代码:
syntax=c
Last set from /usr/share/vim/vim74/syntax/syntax.vim
filetype=c
Last set from /usr/share/vim/vim74/filetype.vim
foldmethod=manual
foldexpr=0
检查的设置modelines
。 Vim在第一行或最后一条模式行中搜索Modeline。 将模式行设置为1时,模型必须位于文件的第一行或最后一行。
模式行的默认值为5。这适用于您的示例。
请参阅:help modelines
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.