虽然我不是Vim的专家,但我一直在努力研究一个粗略的Vim,相当于 TextMate的⌘R功能,从缓冲区运行Ruby代码并显示输出.
脚本当前只打开一个新窗口(拆分):new
并将输出放在那里.如果多次运行它,它会打开多个窗口.理想情况下,我希望它在每个标签页中重复使用相同的窗口,就像:help
它一样.
我看了,但还没有找到实现这个目标的方法.有什么指针吗?
您可以使用名称创建临时缓冲区,以便在后续调用中可以检查该缓冲区是否已打开(如果已重用),或者您需要一个新缓冲区.像这样的东西:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1587 次 |
最近记录: |