如何检查我是否在vimrc中以只读模式(-R)运行
发布时间:2020-12-15 16:59:52 所属栏目:安全 来源:网络整理
导读:在我的. vimrc中,我希望能够检查我是否已经被vim -R或视图运行.如果是这样,我计划禁用或延迟某些插件加载,以加快我很快想要查看文件的时间. :args和argv()似乎只显示我想要编辑的文件,而不是所有命令行标志. 检查 readonly几乎是否有效.如果我有这个: if r
在我的.
vimrc中,我希望能够检查我是否已经被vim -R或视图运行.如果是这样,我计划禁用或延迟某些插件加载,以加快我很快想要查看文件的时间.
:args和argv()似乎只显示我想要编辑的文件,而不是所有命令行标志. 检查& readonly几乎是否有效.如果我有这个: if &readonly echo "read only" else echo "not read only" endif 然后我在执行view或vim -R时只读取回显,但如果我查看?/ .vimrc或vim -R~ / .vimrc,那么我不会只读.很奇怪. 谢谢!
& readonly设置是缓冲区的本地设置,在加载缓冲区之前不会设置.在加载任何缓冲区之前解析您的vimrc文件.
考虑如果你输入vim -o / etc / passwd~ / readable会发生什么.一个缓冲区将是只读的,另一个缓冲区将不是.该设置应该打开还是关闭? 所以你需要挂钩 autocmd BufReadPost * if &readonly | echo "read only" | else | echo "not read only" | endif 哪个应该给出预期的结果. 请注意,每次加载缓冲区时都会运行此操作.如果您只想显示一次,则需要在运行时删除此自动命令.这可以通过自动命令组完成;自动命令! <组名>将删除组中的所有自动命令. augroup readonly autocmd! autocmd BufReadPost * if &readonly | echom "read only" | else | echom "not read only" | endif | autocmd! readonly augroup end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |