У ситуаціях, коли потрібно, щоб vim повністю завантажився так, як якщо б ви його запустили вручну, це працює:
vim -c "autocmd! CursorHold * <commands to run>"
Наприклад, я хотів переспрямувати вихід :map
файлу з оболонки, але хотів зафіксувати відображення, яке створює vim-airline, тільки після того, як воно відобразить його табличний рядок (рядок вгорі показує всі відкриті імена буферів). це асинхронно, просто запуск -c
переадресації на файл не давав йому часу робити відображення. Може бути і кращий спосіб, але це працює для мене, тим більше, що я вже updatetime
встановив 100
(0,1 секунди), що впливає на те, як довго триватиме CursorHold
подія. За замовчуванням vim встановлює його на 4 секунди.
vim -c "autocmd! CursorHold * set nomore | redir! > mapNew | map | redir END | q"
vim +BundleInstall +qall!
.