如何在vim脚本中模拟按键

如何在vim脚本中模拟按键,vim,netrw,Vim,Netrw,我的问题与此类似 在这个问题上,我在vim中使用的是插件netrw,而不是nerdtree。我添加以下行以自动启用netrw autocmd BufWinEnter * :Ve 打开vim时,我需要每次按^W^W,因为活动缓冲区是netrw所在的左侧缓冲区 如何使vim在启动时模拟这些按键?事实上,我以前就让它工作过,但我没有在最近重新安装的操作系统中保存我的.vimrc 这个问题的答案对我不适用 我的环境: Mac OS X 10.9.5 MacVim快照73 非常感谢您的回答:)最好的方法

我的问题与此类似

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

autocmd BufWinEnter * :Ve
打开vim时,我需要每次按^W^W,因为活动缓冲区是netrw所在的左侧缓冲区

如何使vim在启动时模拟这些按键?事实上,我以前就让它工作过,但我没有在最近重新安装的操作系统中保存我的.vimrc

这个问题的答案对我不适用

我的环境: Mac OS X 10.9.5 MacVim快照73


非常感谢您的回答:)

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

笔记
  • 通过使用
    bufwinter
    ,这将在每次显示缓冲区时打开netrw拆分。如果您只想在Vim启动时触发此事件一次,
    vimcenter
    是正确的事件
  • 不要在插件和配置中缩写命令;这只是为了在交互使用时保存关键点。这样更容易理解,而且当您安装/定义另一个具有相同首字母的命令(例如
    :verticalspilt
    )时,不必调整所有实例。此外,在autocmds中不需要
  • 对于
    窗口命令,有一个特殊的
    :wincmd
    Ex命令来触发这些命令。对于所有其他内容,您将使用
    :执行'normal!\\\'

您能更清楚地说明上述问题对您不起作用的原因吗?您是否尝试在
末尾添加
:执行“normal\\\”
。vimrc
?感谢您的回答,我知道BufWintenter和VimEnter之间的区别,BufWintenter就是我想要的。我试过autocmd BufWinter*Vexplore | wincmd w,甚至:执行“正常!”但一切都不起作用……当你键入它时,它能起作用吗:
:Vexplore | wincmd w
(它对我有用)?你们还有其他的自动驾驶吗?
autocmd BufWinEnter * Vexplore | wincmd w