在文本编辑器中
通过 modeline 只能安装有限数量的选项。 如果将表达式指定为选项值,则会在沙箱模式下执行,该模式仅允许最简单的安全操作。 在这种情况下,有效命令包括“:source”命令,您可以在其中使用“!”修饰符。 从指定文件运行任意命令。 因此,要执行代码,只需在模型行中指示类似“setfoldexpr=execute('\:source!some_file'):”的结构即可。 在 Neovim 中,禁止调用execute,但可以使用assert_fails 代替。
例如,要运行“uname -a”命令,只需在 Vim 或 Neovim 中打开一个文件,其第一行或最后一行显示:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“源\!\ \%”):fdl=0:fdt=”
公司《源! %”将从当前文件中读取命令并相应地执行“:!uname -a”。 转义序列可用于隐藏 cat 实用程序输出中的给定行。 例如,在这个
您可以使用命令“:set modeline?”检查 modeline 模式的活动。 要禁用它,您可以将“set nomodeline”行添加到 vimrc 中。 在发行版中,问题被解决在
来源: opennet.ru