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

时间:2011-09-09 06:09:32

标签: vim macvim

我正在使用QuickCursor向表单输入文字。 我的问题是我总是打开MacVim,并启用hidden,所以当我从临时文件QuickCursor发出:wq时,缓冲区保留在MacVim中,所以我必须将其删除才能获得QuickCursor粘贴回窗口。 我想在我的vimrc中使用autocommand解决这个问题: autocmd BufRead "/private/var/folders/fg/gv_*/T/*" set bufhidden="delete" | startinsert! 但这从未运行过。可能是什么问题呢 ?什么是正确的事件使用?我尝试过BufWinEnter,BufNewFile,它们都不起作用,或者可能是其他问题。

1 个答案:

答案 0 :(得分:2)

好的,经过几个小时的尝试,我终于找到了。

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

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

使用额外的引号它不起作用:

  • “删除”是无效的选项值(请参阅:he bufhidden
  • 文件名周围的
  • 引号可防止通配符( glob characters )匹配(请参阅doc

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

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

因此它会在文本末尾更改为插入模式