vim - FileType 的 Vim autocmd 不能间接工作
问题描述
我有一个~/.vimrc
用这个定制的augroup
:
augroup filetype_vim
autocmd!
autocmd! BufWritePost .vimrc* source %
autocmd FileType vim |
setlocal foldlevel=0 foldmethod=marker foldmarker={{{,}}}
augroup END
当我直接打开 vim 来编辑~/.vimrc
这样的:vim ~/.vimrc
时,折叠按预期工作,我可以折叠{{{
标记:
:set foldmethod?
> foldmethod=marker
当我在没有指定文件的情况下打开 vim: vim
,然后尝试编辑: :e ~/.vimrc
,折叠方法是不同的!
:set foldmethod?
> foldmethod=syntax
这显然来自我的 vimrc 的不同部分。
为什么我间接打开文件时无法识别文件类型?
解决方案
你在 VimScript 语法上失败了。一定是
autocmd FileType vim
\ setlocal foldlevel=0 foldmethod=marker foldmarker={{{,}}}
你所做的是
autocmd FileType vim <nothing> | <nothing>
setlocal foo bar
因此setlocal
仅适用于当前缓冲区(即命令行参数),不适用于其他任何内容。
推荐阅读
- javascript - 在 disconnectedCallback 上调度事件
- asp.net-core - Entity Framework Core 在向表中插入一条记录时保存多条记录
- c++ - C++ 错误:Fltk 中的“FL/Fl_xyz_Button.H:没有这样的文件或目录”?
- python - 将所有循环结果保存到 Python Pandas 中的数据框有问题吗?
- stax - Woodstox - 当文档没有根时尝试写入 END_DOCUMENT
- swift - SwiftUI:将函数的返回值显示到另一个视图
- javascript - .ejs 中标签的奇怪行为
我的 .ejs 文件中有以下代码。
<div id="result_listings"> <script> var inHTML = '<table style="border: 1px solid black">'; var results = <%- JSON.str
- django - 应用程序与 buildpack 不兼容:将 django 应用程序部署到 heroku 时出错
- html - 如何将数据从 CSV 导入 HTML
- python-3.x - 有没有办法在一行中编写多行代码