![Vim:将‘filetype 命令’状态捕获到变量中?](https://linux22.com/image/1319506/Vim%EF%BC%9A%E5%B0%86%E2%80%98filetype%20%E5%91%BD%E4%BB%A4%E2%80%99%E7%8A%B6%E6%80%81%E6%8D%95%E8%8E%B7%E5%88%B0%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%9F.png)
对于使用捆绑包管理器的 vim 用户,文档通常会说filetype off
在初始化期间使用。
有没有办法将当前文件类型命令状态捕获到变量中,以便我可以在命令filetype off
和包管理器的初始化代码执行后恢复它?
答案1
您可以使用:redir
来捕获输出:filetype
:
:redir => output
:filetype
:redir END
然后使用以下方法获取值:
let [matchstr, detection, plugin, indent; _] = matchlist(output, 'detection:\(\S\+\)\s\+plugin:\(\S\+\)\s\+indent:\(\S\+\)')