视频与目录
项目 | 值 |
---|---|
教程目录 | https://blog.csdn.net/lxyoucan/article/details/120641546 |
视频全屏 | https://www.bilibili.com/video/BV1r3411C7yx/ |
视频 |
14神级文件模糊搜索插件telescope |
14_[nvim0.5+从0单排]_神级文件模糊搜索插件telescope
插件安装
这里以packer为例,packer插件管理器安装方法:
修改~/.config/nvim/lua/plugins.lua
文件,并增加如下内容:
-- 文件搜索 预览 等
use {
"nvim-telescope/telescope.nvim",
requires = {
"nvim-lua/plenary.nvim",
"kyazdani42/nvim-web-devicons"
}
}
-- 加速文件搜索速度,如果安装失败需要到插件目录执行make命令手动编译
-- 用了这个插件以后,貌似更快了(感觉输入更跟手了,可能是心理作用)。但是对于我的小项目感受不是很明显
use {"nvim-telescope/telescope-fzf-native.nvim", run = "make"}
:wq
退出重新打开nvim后,执行:PackerInstall
安装。
telescope.nvim配置
新增配置文件
~/.config/nvim/after/plugin/telescope.lua
文件内容如下:
local status, actions = pcall(require, "telescope.actions")
if (not status) then
return
end
--local actions = require('telescope.actions')
-- Global remapping
------------------------------
require("telescope").setup {
defaults = {
mappings = {
n = {
["q"] = actions.close,
["l"] = actions.file_edit
}
},
file_ignore_patterns = {"./node_modules"}
},
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case" -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
}
}
}
-- To get fzf loaded and working with telescope, you need to call
-- load_extension, somewhere after setup function:
require("telescope").load_extension("fzf")
--按键设置
vim.api.nvim_set_keymap("n", "<leader>ff", [[<cmd>lua require('telescope.builtin').find_files()<cr>]], {})
vim.api.nvim_set_keymap("n", "<leader>fg", [[<cmd>lua require('telescope.builtin').live_grep()<cr>]], {})
vim.api.nvim_set_keymap("n", "<leader>fb", [[<cmd>lua require('telescope.builtin').buffers()<cr>]], {})
vim.api.nvim_set_keymap("n", "<leader>fh", [[<cmd>lua require('telescope.builtin').help_tags()<cr>]], {})
vim.api.nvim_set_keymap("n", "<leader>sf", [[<cmd>lua require('telescope.builtin').file_browser()<cr>]], {})
vim.api.nvim_set_keymap("n", "<leader>/", [[<cmd>lua require'telescope.builtin'.current_buffer_fuzzy_find{}<CR>]], {})
文本搜索支持
如果nvim-telescope文本搜索功能,需要安装ripgrep
各个系统的安装方法见:
https://github.com/chinanf-boy/ripgrep-zh
macOS 如下:
brew install ripgrep