Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 9 down vote accepted

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
share|improve this answer
    
Great answer and works perfectly, many thanks! – gennad Apr 29 '11 at 17:13
    
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. – Michael Apr 8 at 17:36

You must log in to answer this question.

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