vim - Vim autocmd 适用于 FocusGained 但不适用于 BufWritePost
问题描述
我有这个在我的.vimrc
au FocusGained * echo "hello world"
它有效——当我切换到我的 vim 窗口时,我在状态栏中看到“hello world”。但是,如果我将其切换为:
au BufWritePost * echo "hello world"
然后用 保存文件:w
,“hello world”不显示。为什么不?
解决方案
根据@jeremysprofile 的评论,如果我切换到,这可以工作BufWriteCmd
:
au BufWriteCmd * w | echo "hello world"
w |
请注意,在运行我需要的命令之前,我必须使用前缀来运行“write”命令的默认行为。就我而言,我想运行一个vim-fireplace
Require
命令,所以它也有助于使用silent!
前缀:
au BufWriteCmd *.clj w | silent! Require
推荐阅读
- rust - 如何在 Rust 中删除具有特定文件扩展名的文件
- angular - 在 Angular 中创建响应式表单的单个实例
- scheme - 当我们已经让 letrec 时,为什么还需要 letrec?
- mysql - 将多行上的部分重复数据合并在一起
- php - PHP 无法加载 pdo_mysql.so
- python - 如何在 python 中执行,以便列表中先前打印的项目在下次打印时不再重复
- c# - 无法将数据库文件创建到相对路径中
- python - Bootstrap.min.css 未加载
- websphere - 在 IIB 10.0.0.24 中启动集成节点时出错
- macos - Gulp 无法在带有 OS Monterey 的 M1 MacBook Pro 上工作