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

9

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

autocmd VimEnter * NERDTree

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

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

gennad
источник

Ответы:

11

Есть несколько способов дать 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
garyjohn
источник
У меня где-то был скрипт, execute 'normal 1<c-W>_'который не работал на моей настройке vim. Замена одинарных кавычек на двойные и добавление ``, наконец, запустили.
Майкл - Где Клэй Ширки