hover.nvim 使用教程
hover.nvimHover plugin framework for Neovim项目地址:https://gitcode.com/gh_mirrors/ho/hover.nvim
项目介绍
hover.nvim
是一个为 Neovim 设计的悬停插件框架,旨在提供类似于 Vim LSP 的悬停功能,并支持多种悬停源,如 LSP、GitHub Issues、字典等。该插件通过鼠标悬停或快捷键触发,显示相关信息,提升开发效率。
项目快速启动
安装
使用 packer.nvim
进行安装:
use { "lewis6991/hover.nvim", config = function()
require("hover").setup {
init = function()
-- 加载需要的悬停提供者
require("hover.providers.lsp")
-- require('hover.providers.gh')
-- require('hover.providers.gh_user')
-- require('hover.providers.jira')
-- require('hover.providers.dap')
-- require('hover.providers.fold_preview')
-- require('hover.providers.diagnostic')
-- require('hover.providers.man')
-- require('hover.providers.dictionary')
end,
preview_opts = {
border = 'single'
},
preview_window = false,
title = true,
mouse_providers = { 'LSP' },
mouse_delay = 1000
}
-- 设置快捷键
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
vim.keymap.set("n", "<C-p>", function() require("hover").hover_switch("previous") end, {desc = "hover.nvim (previous source)"})
vim.keymap.set("n", "<C-n>", function() require("hover").hover_switch("next") end, {desc = "hover.nvim (next source)"})
-- 鼠标支持
vim.keymap.set('n', '<MouseMove>', require("hover").hover, {desc = "hover.nvim"})
end }
配置
在 init.lua
中添加以下配置:
require("hover").setup {
init = function()
require("hover.providers.lsp")
end,
preview_opts = {
border = 'single'
},
preview_window = false,
title = true,
mouse_providers = { 'LSP' },
mouse_delay = 1000
}
应用案例和最佳实践
应用案例
- 代码文档查看:通过悬停查看函数或变量的文档,无需离开编辑器。
- GitHub Issues 查看:悬停查看 GitHub Issues 的详细信息。
- 字典查询:悬停查看单词的定义和解释。
最佳实践
- 自定义悬停源:根据项目需求,加载需要的悬停提供者。
- 快捷键设置:合理设置快捷键,提高操作效率。
- 鼠标悬停支持:启用鼠标悬停功能,方便快速查看信息。
典型生态项目
- Neovim LSP:与 Neovim 的 LSP 集成,提供代码智能提示和文档悬停。
- GitHub CLI:与 GitHub CLI 集成,方便查看和管理 GitHub Issues。
- Dictionary API:与在线字典 API 集成,提供单词查询功能。
通过以上步骤,您可以快速上手并充分利用 hover.nvim
插件,提升您的 Neovim 开发体验。
hover.nvimHover plugin framework for Neovim项目地址:https://gitcode.com/gh_mirrors/ho/hover.nvim