vim: запускать некоторый код каждый раз, когда меняется буфер - PullRequest
3 голосов
/ 13 мая 2011

Я хочу перехватить все события, которые изменяют буфер vim, чтобы я мог записать их и отправить на сервер.Я хочу перехватывать посимвольные события в режиме вставки, а также получать уведомления при выполнении команд p или dd и т. Д. - каждый раз, когда изменяется документ.

Ответы [ 3 ]

2 голосов
/ 14 ноября 2016

В Vim 8 это намного проще. Просто послушайте эти события autocmd:

TextChanged
TextChangedI
2 голосов
/ 18 мая 2011

Просматривая список событий, я выбрал следующее:

|BufFilePre|            before changing the name of the current buffer
|BufFilePost|           after changing the name of the current buffer

|FileChangedShell|      Vim notices that a file changed since editing started
|FileChangedShellPost|  After handling a file changed since editing started

|InsertEnter|           starting Insert mode
|InsertChange|          when typing <Insert> while in Insert or Replace mode
|InsertLeave|           when leaving Insert mode

|QuickFixCmdPre|        before a quickfix command is run
|QuickFixCmdPost|       after a quickfix command is run

Хотя я не пробовал, я считаю, что в события Insert* входят такие команды, как d elete, paste, c hange и т. д. Вы также должны искать события 'Writing' в | autocmd-events |.

0 голосов
/ 20 июля 2011

Мой друг указал мне на ужасно названный модуль netbeans в vim.Это похоже на то, что я хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...