在Get the output of `:map` into a buffer 我知道我可以使用
redir @a | silent map | redir END | new | silent put a
在缓冲区中查看地图的输出,这很方便,因为它很长,我希望能够以vim风格导航它。
但是,新缓冲区需要:bd!
才能关闭,因为它已被修改。
是否可以设置它以便只用:bd
关闭它?
(我知道它只是一个字符但我要小心:bd!
,因为我不想意外丢失实际数据(地图输出是一次性的))< / p>
答案 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
。