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

发布于 2024-12-03 14:04:00 字数 416 浏览 1 评论 0原文

我使用 QuickCursor 在表单中输入文本。 我的问题是我总是打开 MacVim,并启用 hidden ,所以当我从临时文件 QuickCursor make :wq 时,缓冲区保留在 MacVim 中,所以我必须删除它才能将快速光标粘贴回窗口。 我想用 vimrc 中的自动命令来解决这个问题: autocmd BufRead“/private/var/folders/fg/gv_*/T/*” set bufhidden="delete" |开始插入! 但这永远不会运行。可能是什么问题?正确使用什么事件?我尝试了BufWinEnter,BufNewFile,它们都不起作用,或者可能是其他问题。

I'm using QuickCursor for entering text to forms.
My problem with that is I always have MacVim open, and with hidden enabled, so when I :wq from the temp file QuickCursor make, the buffer stays in MacVim, so I have to delete it to get QuickCursor paste back to the window.
I wanted to solve this with an autocommand in my vimrc:
autocmd BufRead "/private/var/folders/fg/gv_*/T/*" set bufhidden="delete" | startinsert!
but this never run. What could be the problem ? What is the right event to use ? I tried BufWinEnter, BufNewFile, neither of them works, or maybe something else is the problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风铃鹿 2024-12-10 14:04:00

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

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

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

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

  • “delete”是一个无效的选项值(参见 :he bufhidden)
  • 文件名周围的引号会阻止通配符(通配符)匹配(请参阅 doc)

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

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

所以它更改文本末尾的插入模式

Ok, after several hours of try, I finally found out.

I had added quotes to the bufhidden setting and the filename. It should be:

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

With the extra quotes it doesn't work:

  • "delete" is an invalid option value (see :he bufhidden)
  • quotes around a filename prevent the wildcards (glob characters) from matching (see doc)

If anybody else using QuickCursor, you can fine-tune it:

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

So it changes to insert mode at the end of the text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文