Использование vim autocmd с проблемами редактирования

467
Amaron

В настоящее время я пытаюсь создать базовый макет экрана для gvim, который отображается при каждом его открытии. Я также пытаюсь открыть буферы в определенном окне. Из-за времени инициализации GUI я вынужден открывать буферы с помощью autocmd.

Так что мой _gvimrc выглядит так:

winpos 4 2 set co = 200 set lines = 50 autocmd GUIEnter * vsplit autocmd GUIEnter * wincmd b autocmd GUIEnter * split autocmd GUIEnter * edit /users/user/_gvimrc 

Проблема в том, что когда я делаю это, gvimrc теряет свою подсветку. Поэтому я попробовал VimEnter, но это тоже не работает. Возможно, он загружается до получения файлов синтаксиса, но я понятия не имею, как это исправить.

2

1 ответ на вопрос

2
garyjohn

Проблема в том, что подсветка синтаксиса выполняется как автокоманда, а автокоманды не вкладываются по умолчанию. Решение состоит в том, чтобы изменить эту последнюю автокоманду на

autocmd GUIEnter * nested edit /users/user/_gvimrc 

Увидеть

:help autocmd-nested 
Пожалуйста. Может быть, не так очевидно, хотя. Причина, по которой я узнал ответ, заключалась в том, что я добавил похожую автокоманду GUIEnter в свою ~ / .vimrc несколько недель назад и, как и вы, некоторое время удивлялся, почему моя подсветка была испорчена, пока я не вспомнил о вложенной проблеме. garyjohn 11 лет назад 0