nvim icon indicating copy to clipboard operation
nvim copied to clipboard

fzf-lua如何修改cwd

Open Troublemaker114112 opened this issue 2 years ago • 1 comments

Hi, David 请教个问题: 我正在参考你的配置使用fzf-lua,现在可以使用快捷键正常唤起文件搜索的界面了。不过我有时候在唤起搜索界面之后希望能够修改cwd路径。我设想是能够使用快捷键唤起一个对话窗口用于输入一个路径从而修改cwd。 我查了圈文档没有头绪,可以给个方向不?

Troublemaker114112 avatar Jan 20 '24 14:01 Troublemaker114112

目前自己写了一个比较挫的方法,给大家分享一下:

nvim/lua/config/plugins/fzf.lua 的config方法中,

定义一个change_root的function:
local change_root = function(_, opts)
    local current_dir = vim.loop.cwd()                                                                                                                                                                   
    local root = vim.fn.input("Root Directory: ", current_dir)                                                                                                                                           
    opts.__ACT_TO({                                                                                                                                                                                      
        cwd = root,                                                                                                                                                                                      
        resume = true}) 
end 

在fzf.setup中增加:
    actions = {                                                                                                                                                                                              
          files = {                                                                                                                                                                                            
                  ['ctrl-/'] = { change_root },                                                                                                                                                                    
          },                                                                                                                                                                                                   
         grep = {                                                                                                                                                                                             
                  ['ctrl-/'] = { change_root },                                                                                                                                                                    
         },                                                                                                                                                                                                  
   },                                                                                                                                                                                                     

Troublemaker114112 avatar Jan 21 '24 09:01 Troublemaker114112