当打开文件时,Vim自动命令不会运行

4
我正在使用 QuickCursor 输入文本到表单中。 我的问题是,我总是打开 MacVim,并启用了 hidden,所以当我从 QuickCursor 创建的临时文件中输入 :wq 时,缓冲区仍然停留在 MacVim 中,因此我必须删除它才能让 QuickCursor 粘贴回窗口。 我想通过 vimrc 中的 autocommand 解决这个问题: autocmd BufRead "/private/var/folders/fg/gv_*/T/*" set bufhidden="delete" | startinsert! 但是这从未运行过。可能出了什么问题?应该使用哪个事件?我尝试了 BufWinEnter、BufNewFile,它们都不起作用,或者可能有其他问题。
1个回答

2

好的,在尝试了几个小时后,我终于找到了答案。

我在bufhidden设置和文件名中添加了引号。正确的写法应该是:

autocmd BufRead /private/var/folders/fg/gv_*/T/* set bufhidden=delete | startinsert!

使用额外的引号会导致无法工作:
  • "delete" 是一个无效的选项值(参见:he bufhidden
  • 文件名周围的引号会阻止通配符(glob characters)匹配(参见文档

如果其他人使用QuickCursor,您可以进行微调:

autocmd BufWinEnter /private/var/folders/fg/gv_*/T/* set bufhidden=delete |
    exe "normal G$" | startinsert!

因此,它会在文本末尾切换到插入模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接