使用bd创建一个新的,修改过的缓冲区可以关闭

时间:2017-06-17 13:00:04

标签: vim

Get the output of `:map` into a buffer 我知道我可以使用

  redir @a | silent map | redir END | new | silent put a

在缓冲区中查看地图的输出,这很方便,因为它很长,我希望能够以vim风格导航它。

但是,新缓冲区需要:bd!才能关闭,因为它已被修改。 是否可以设置它以便只用:bd关闭它?

(我知道它只是一个字符但我要小心:bd!,因为我不想意外丢失实际数据(地图输出是一次性的))< / p>

2 个答案:

答案 0 :(得分:2)

此命令在新的垂直窗口中打开一个新的暂存缓冲区,并使用给定的Ex命令的输出填充它:

function! Redir(cmd)
    redir => output
    execute a:cmd
    redir END
    vnew
    setlocal nobuflisted buftype=nofile bufhidden=wipe noswapfile
    call setline(1, split(output, "\n"))
endfunction

command! -nargs=1 Redir silent call Redir(<f-args>)

您可以关闭窗口或删除缓冲区。

用法:

:Redir map

答案 1 :(得分:-1)

将这一行添加到

set hidden

您的vimrc