微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重复使用相同的Vim窗口/缓冲区进行命令输出,例如:help窗口?

虽然我不是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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐