如何在后台具有特定名称的缓冲区中执行命令?

时间:2015-02-04 09:23:32

标签: vim

我目前正在执行以下操作,但它会使当前窗口切换到有问题的缓冲区,这会造成破坏性:

let current_buffer = bufname("%")
buffer NERD_tree_1
normal R
exec "buffer" current_buffer

有没有办法在后台使用特定名称(在本例中为NERD_tree_1)的缓冲区中执行命令?

1 个答案:

答案 0 :(得分:0)

不,没有这样的机制,尤其不适用于在当前窗口中执行命令的:normal

我看到两个选项:

  1. 由于您已经依赖插件内部(NERD_tree_1缓冲区名称),您可以进一步深入研究插件并直接修改它/它的数据结构以实现您的目标。请注意,这是一个易受未来插件更新影响的脆弱解决方案,因此不推荐使用。
  2. 完全依赖插件的外部接口(即用:buffer替换:NERDTreeToggle命令),并使插件的副作用暂时激活。