vim autocommand не запускается при открытии файла - PullRequest
4 голосов
/ 09 сентября 2011

Я использую QuickCursor для ввода текста в формы.Моя проблема в том, что у меня всегда открыт MacVim, и с включенным hidden, поэтому, когда я :wq из временного файла QuickCursor создаю, буфер остается в MacVim, поэтому мне нужно удалить его, чтобы QuickCursor вставил обратноокно.Я хотел решить эту проблему с помощью автокоманды в моем vimrc: autocmd BufRead "/private/var/folders/fg/gv_*/T/*" set bufhidden="delete" | startinsert!, но это никогда не запускалось.В чем может быть проблема ?Какое событие правильно использовать?Я пробовал BufWinEnter, BufNewFile, ни один из них не работает, или, может быть, проблема в другом.

1 Ответ

2 голосов
/ 09 сентября 2011

Хорошо, после нескольких часов попыток я наконец узнал.

Я добавил кавычки к параметру 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!

Таким образом, он меняется на режим вставки в конце текста

...