vim自动命令不';无法在打开文件时运行

vim自动命令不';无法在打开文件时运行,vim,macvim,Vim,Macvim,我使用的是在表单中输入文本。 我的问题是,我总是打开MacVim,并且启用了隐藏,因此当我从临时文件QuickCursor make中选择:wq时,缓冲区保留在MacVim中,因此我必须将其删除以将QuickCursor粘贴回窗口。 我想用vimrc中的自动命令解决这个问题: autocmd BufRead”/private/var/folders/fg/gv_*/T/*“set bufhidden=“delete”| startinsert 但这永远不会发生。有什么问题吗?要使用的正确事件是什

我使用的是在表单中输入文本。 我的问题是,我总是打开MacVim,并且启用了
隐藏
,因此当我从临时文件QuickCursor make中选择
:wq
时,缓冲区保留在MacVim中,因此我必须将其删除以将QuickCursor粘贴回窗口。 我想用vimrc中的自动命令解决这个问题:
autocmd BufRead”/private/var/folders/fg/gv_*/T/*“set bufhidden=“delete”| startinsert

但这永远不会发生。有什么问题吗?要使用的正确事件是什么?我试过BufWinter,BufNewFile,两个都不起作用,或者可能是其他问题。

好的,经过几个小时的尝试,我终于发现了

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

autocmd BufRead /private/var/folders/fg/gv_*/T/* set bufhidden=delete | startinsert!
如果加上额外的引号,则不起作用:

  • “删除”是无效的选项值(请参阅)
  • 文件名周围的引号可防止通配符(全局字符)匹配(请参阅)
如果其他任何人使用QuickCursor,您可以对其进行微调:

autocmd BufWinEnter /private/var/folders/fg/gv_*/T/* set bufhidden=delete |
    exe "normal G$" | startinsert!
因此,它会在文本末尾更改为插入模式