Возможно ли установить BufLeave autocmd в vim на лету?
Что я хочу сделать:
Внутри файла / буфера в vim, особенно безымянного (например, созданного с помощью:enew), иногда я чувствую, что содержимое, которое я пишу, стоит сохранить (скажем, я внезапно хочу отправить его по электронной почте), но не Я не чувствую особой необходимости сохранять его во временном файле, и я не доверяю себе настолько, чтобы "запомнить", чтобы сохранить его при выходе.
Поэтому я подумал, что если я бегу
autocmd BufLeave * ggvG"+y
в командной строке vim один раз и будьте свободны от страха потерять этот контент.
Но это не работает. Когда я выхожу из vim, системный буфер обмена остается без изменений.
Мои вопросы:
- это делает что-нибудь, если мы бежим
autocmd
на лету, в отличие от vimrc? - Есть ли способ сказать Vim "Эй, когда вы выходите, запустите эти"?
Благодаря тонну!
1 ответ
Две проблемы:
1) Вы не покинули буфер, чтобы перейти к другому буферу (BufLeave
); ты покинул Vim (VimLeave
).
2) autocmd
ожидает команду, а не нормальный режим нажатия клавиш.
С этим в мыслях,
autocmd VimLeave * normal gg"+yG