... Я обнаружил, что некоторые события могут работать не так хорошо, как ## TabLeave не будет срабатывать при использовании gt / gT для переключения между вкладками.
gt
/ gT
вызывает TabLeave
.пример:
:let g:foo = 1
:autocmd TabLeave * let g:foo = g:foo + 1 | echom "TabLeave Event " . g:foo
:tabnew
Теперь сделайте несколько gt
/ gT
.Вы должны получить сообщения
Что я могу сделать, чтобы узнать, какое событие было вызвано VIM, когда я выполняю определенную операцию, например, набираю команду tabmove для ее выполнения?Я пишу плагин, чтобы моя вкладка VIM могла возвращаться на ранее посещенную вкладку, но проблема в том, что команда tabmove ничего не вызывает, кто-нибудь может мне помочь в этом?
Яне уверен, что вы можете использовать событие / autocmd, например TabLeave
, чтобы захватить что-либо из :tabmove
.Вероятно, будет также сложно использовать номера страниц вкладок, так как :tabmove
изменяет их.
К счастью, Vim всегда должен фокусировать окно, поэтому вместо попытки создания истории страниц вкладок, может быть, у истории есть окна с идентификаторами.Возможно, вы сможете использовать win_getid()
и win_gotoid()
для выполнения своего поведения в истории.
Для получения дополнительной помощи см .:
:h win_getid()
:h win_gotoid()
:h windowid