如何在Neovim中保持命令行窗口输出处于打开状态?
让Neovim命令行窗口执行命令后保持打开的方法

以下是几种实用的解决方法:
临时快速方案:执行命令时追加
| noautocmd wincmd p,示例::lua print(4) | noautocmd wincmd pnoautocmd会跳过触发命令行窗口关闭的自动事件,wincmd p切换回编辑窗口的同时,命令行窗口会被保留。自定义命令复用:在Neovim配置文件(
init.lua或init.vim)中添加自定义命令,方便后续调用:
若使用Lua配置(init.lua):vim.api.nvim_create_user_command('LuaKeep', function(opts) vim.cmd('lua ' .. opts.args) vim.cmd('noautocmd wincmd p') end, { nargs = '*' })之后执行
:LuaKeep print(4)就能让命令行窗口保持打开。查看历史输出:如果已经执行完命令窗口关闭了,按
q:可以打开命令行历史窗口,这里会显示所有过往命令的输出内容,也能编辑重新执行历史命令。浮动窗口替代方案:如果觉得命令行窗口形式不够灵活,可以用浮动窗口显示输出,在
init.lua中添加以下函数:function print_and_keep(msg) local buf = vim.api.nvim_create_buf(false, true) vim.api.nvim_buf_set_lines(buf, 0, -1, false, {tostring(msg)}) local win = vim.api.nvim_open_win(buf, true, { relative = 'editor', width = 20, height = 5, row = 10, col = 10, style = 'minimal' }) end执行
:lua print_and_keep(4)会弹出独立浮动窗口展示内容,不会自动关闭。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

