这个项目能做什么
telescope.nvim 是一款高度可扩展的模糊查找插件,基于 Neovim 核心功能开发,使用 Lua 编写。它以模块化为核心设计理念,支持通过 setup() 进行全局配置,也支持通过向内置函数传递参数来针对特定选择器进行配置。
运行环境需要 Neovim 配合 LuaJIT 和 plenary.nvim。推荐安装的依赖包括:ripgrep(用于 live_grep 和 grep_string)、fd 和 nvim-web-devicons(用于图标显示)。建议使用 telescope-fzf-native.nvim 或 telescope-fzy-native.nvim 等原生排序器以提升排序性能。安装通常通过锁定发布版本号来完成,例如使用 lazy.nvim 管理,设置完成后建议执行 :checkhealth telescope 进行检查。
插件提供了大量内置选择器。文件选择器包括 find_files、git_files、grep_string 和 live_grep。Vim 选择器覆盖 buffers、oldfiles、commands、tags、command_history、search_history、help_tags、man_pages、marks、colorscheme、quickfix、loclist、jumplist、vim_options、registers、autocommands、spell_suggest、keymaps、filetypes、highlights、current_buffer_fuzzy_find、current_buffer_tags、resume 以及 pickers。Neovim LSP 选择器包括 lsp_references、lsp_incoming_calls、lsp_outgoing_calls、lsp_document_symbols、lsp_workspace_symbols、lsp_dynamic_workspace_symbols、diagnostics、lsp_implementations、lsp_definitions 和 lsp_type_definitions。Git 选择器包括 git_commits、git_bcommits、git_bcommits_range、git_branches、git_status 和 git_stash。此外还有 treesitter 选择器以及 planets、builtin、reloader、symbols 等列表选择器。
提供针对文件、grep 结果和 quickfix 列表的预览器,其中 vim_buffer_ 系列使用 Neovim 缓冲区并通过 tree-sitter 或正则表达式实现高亮,终端版本则使用 cat 或 bat 命令。默认预览器通过 vim.filetype 根据文件名、shebang 和 modeline 推断文件类型。可以通过 TelescopePreviewerLoaded 自动命令对不同文件类型配置独立的预览窗口。
排序器、布局和主题均可配置,映射支持完全自定义,文档提供了覆盖导航、选择、在分屏或标签页打开文件、滚动预览、切换多选、将结果发送到 quickfix 列表以及从原始窗口插入词到提示框的默认映射集。支持通过 transform_mod 重映射操作或创建自定义操作。扩展通过专用配置表支持,项目维护有 Wiki,包含展示案例、配置示例和扩展信息。
评论
0 评分人数达到10人后显示
登录后参与讨论。