Neovim中使用Telescope插件时如何解决‘Invalid window id’错误?
解决Telescope弹出"Invalid window id"错误的方案
更新Telescope到最新版本
这个错误多是旧版本的已知bug,直接通过包管理器更新即可:
用Packer的话执行命令::PackerUpdate telescope.nvim用Lazy的话执行:
:Lazy update telescope.nvim排查冲突插件
窗口管理类插件(如winshift.nvim、nvim-window-picker)可能和Telescope的窗口处理逻辑冲突,临时禁用这类插件测试。如果错误消失,去对应插件的社区找兼容方案,或者调整插件配置。手动修复窗口关闭逻辑
若暂时无法更新,找到telescope.nvim/lua/telescope/pickers.lua文件的第756行,修改窗口关闭的代码,先判断窗口是否有效:
原代码:vim.api.nvim_win_close(self.results_win, true)修改为:
if vim.api.nvim_win_is_valid(self.results_win) then vim.api.nvim_win_close(self.results_win, true) end同时对预览窗口的关闭代码(附近的
nvim_win_close(self.preview_win, true))做同样的有效性判断。重置Telescope配置
若自定义配置引发问题,先注释所有Telescope的自定义设置,用默认配置测试,再逐步恢复配置项排查具体冲突点。
内容的提问来源于stack exchange,提问作者Sumer
相关产品推荐
相关产品推荐

