Как я могу эмулировать нажатия клавиш при запуске Vim?

2921
gennad

Когда я запускаю vim, плагин NerdTree открывает проводник проекта. Я достиг этого, добавив следующую строку в мой .vimrcфайл:

autocmd VimEnter * NERDTree 

Он открывает два буфера, но, к сожалению, мне нужно нажимать ^W^Wкаждый раз, потому что активный буфер является левым, где находится NerdTree.

Как я могу заставить vim эмулировать эти нажатия клавиш при запуске?

9

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

11
garyjohn

Есть несколько способов дать Vim нажатия клавиш в команде. Общий способ заключается в использовании :normalкоманды, которая в этом случае будет

:execute "normal \<C-W>\<C-W>" 

где :executeкоманда необходима для раскрытия управляющих символов. Однако для обычных команд, начинающихся с Ctrl-W, эту :wincmdкоманду проще использовать, например:

:wincmd w 

где в этом случае я воспользовался тем, что Ctrl-W Ctrl-W и Ctrl-W w делают одно и то же. Ваша автокоманда будет тогда

autocmd VimEnter * wincmd w 

Увидеть

:help :normal :help :wincmd :help CTRL-W_w 
У меня был сценарий откуда-то `выполнить 'нормально 1_'` это не сработало на моей настройке vim. Замена одинарных кавычек на двойные и добавление `\`, наконец, запустили. Michael 8 лет назад 0