如何在 Vim 启动时模拟按键操作?

gen*_*nad 9 vim nerdtree

当我运行 vim 时,NerdTree 插件会打开一个项目资源管理器。我通过在我的.vimrc文件中添加以下行来实现这一点:

autocmd VimEnter * NERDTree
Run Code Online (Sandbox Code Playgroud)

它打开了两个缓冲区,但不幸的是我^W^W每次都需要按下,因为活动缓冲区是左边的缓冲区,NerdTree 所在的位置。

如何让 vim 在启动时模拟这些按键?

gar*_*ohn 13

有几种方法可以在命令中给 Vim 按键。一般的方法是使用:normal命令,在这种情况下将是

:execute "normal \<C-W>\<C-W>"
Run Code Online (Sandbox Code Playgroud)

其中:execute需要命令以展开控制字符。然而,对于以 Ctrl-W 开头的普通命令,该:wincmd命令可以更简单地使用,例如,

:wincmd w
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我利用了 Ctrl-W Ctrl-W 和 Ctrl-W w 做同样的事情这一事实。你的自动命令将是

autocmd VimEnter * wincmd w
Run Code Online (Sandbox Code Playgroud)

:help :normal
:help :wincmd
:help CTRL-W_w
Run Code Online (Sandbox Code Playgroud)