虽然我不是Vim的专家,但我一直在努力研究
a rough Vim equivalent的TextMate的⌘R功能,从缓冲区运行Ruby代码并显示输出.
该脚本当前只是打开一个新窗口(拆分):new并将输出放在那里.如果多次运行它,它会打开多个窗口.理想情况下,我希望它在每个标签页中重复使用相同的窗口,就像:帮助一样.
我看了,但还没有找到实现这个目标的方法.有什么指针吗?
您可以使用名称创建临时缓冲区,以便在后续调用中可以检查该缓冲区是否已打开(如果已重用),或者您需要一个新缓冲区.像这样的东西:
function! Output() let winnr = bufwinnr('^_output$') if ( winnr >= 0 ) execute winnr . 'wincmd w' execute 'normal ggdG' else new _output setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap endif silent! r! ls endfunction