如何在vim脚本中模拟按键

时间:2015-03-24 22:31:35

标签: vim netrw

我的问题类似于https://superuser.com/questions/277051/how-can-i-emulate-key-presses-on-vim-startup

我在我的vim中使用插件netrw而不是在那个问题中使用nerdtree。我添加以下行以自动启用netrw。

autocmd BufWinEnter * :Ve

打开vim时,我需要每次按^ W ^ W,因为活动缓冲区是左边的,netrw所在的位置。

如何让vim在启动时模拟这些按键?事实上,我之前已经有了它,但是我没有在最近重新安装的操作系统中保存我的.vimrc。

这个问题的答案对我不起作用。

我的环境: Mac OS X 10.9.5 MacVim Snapshot 73

任何答案都表示赞赏,非常感谢:)

1 个答案:

答案 0 :(得分:1)

最好的方法是将命令附加到现有的:autocmd(由|分隔):

autocmd BufWinEnter * Vexplore | wincmd w

注释

  • 通过使用BufWinEnter,这将在每个显示缓冲区时打开一个netrw分割。如果您只是想在Vim启动时触发一次,VimEnter是正确的事件。
  • 不要在插件和配置中缩写命令;这只是为了保存交互式使用的密钥。这种方式更容易理解,并且在安装/定义具有相同首字母的另一个命令(例如:VerticalSplit)时,您不必具有调整所有实例的风险。此外,您不需要autocmds中的:
  • 对于<C-W>窗口命令,有一个特殊的:wincmd Ex命令来触发它们。除此之外,您将使用:execute 'normal! \<C-w>\<C-w>'