10

When I run vim, the NerdTree plugin opens a project explorer. I achieved this by adding the following line to my .vimrc file:

autocmd VimEnter * NERDTree

It opens two buffers but unfortunately I need to press ^W^W each time because the active buffer is the left one, where the NerdTree is located.

How can I make vim emulate these key presses on startup?

1 Answer 1

14

There are a couple of ways to give Vim keypresses in a command. The general way is to use the :normal command, which in this case would be

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

where the :execute command is needed to expand the control characters. For normal commands that begin with Ctrl-W, however, the :wincmd command can be simpler to use, e.g.,

:wincmd w

where in this case I've taken advantage of the fact that Ctrl-W Ctrl-W and Ctrl-W w do the same thing. Your autocommand would then be

autocmd VimEnter * wincmd w

See

:help :normal
:help :wincmd
:help CTRL-W_w
2
  • I had a script from somewhere that had execute 'normal 1<c-W>_' that didn't work on my vim setup. Swapping the single-quotes for doubles and adding the `` finally got it running. Apr 8, 2016 at 17:36
  • what's the difference between :execute "normal \<C-W>\<C-W>" and :silent execute "normal \<C-W>\<C-W>" ?
    – minseong
    Mar 26, 2023 at 14:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .