gpt4 book ai didi

vim - 类似FZF的方式快速切换到目录?在 Vim FZF 中包含隐藏文件?

转载 作者:行者123 更新时间:2023-12-04 10:07:00 27 4
gpt4 key购买 nike

我正在寻找一种方法来快速将我的 Vim 目录更改为我通过 FZF 类型的方式找到的目录。我知道它代表 Fuzzy File Searcher,而不是 Fuzzy Directory Searcher,但我确信有类似的工具或隐藏功能可以使用,并且可以从如此快速的目录切换中受益。

例子:
我要去的目录:~/Notes/Class 1/04-24-2020

我想输入的内容:

:FZF class 1 04 24

提前致谢!

额外问题:我如何将隐藏目录包含在其中?如果我想编辑隐藏在 .config 中的 init.vim 配置文件,我将如何传递包含该文件的参数?

编辑:对下面写出的奖金问题的回答。

最佳答案

找到了“包括隐藏文件”的答案。

在下面的示例中,我使用的是 fdfind。随意使用任何你喜欢的东西!

command! -nargs=? -complete=dir AF
\ call fzf#run(fzf#wrap(fzf#vim#with_preview({
\ 'source': 'fdfind --type f --hidden --follow --exclude .git --no-ignore . '.expand(<q-args>)
\ })))

你可以用上面的代码做的很好,但如果你正在寻找一个更丰富的配置添加,你去吧:
" Terminal buffer options for fzf
autocmd! FileType fzf
autocmd FileType fzf set noshowmode noruler nonu

" nnoremap <silent> <Leader><Leader> :Files<CR>
nnoremap <silent> <expr> <Leader><Leader> (expand('%') =~ 'NERD_tree' ? "\<c-w>\<c-w>" : '').":Files\<cr>"
nnoremap <silent> <Leader>C :Colors<CR>
nnoremap <silent> <Leader><Enter> :Buffers<CR>
nnoremap <silent> <Leader>L :Lines<CR>
nnoremap <silent> <Leader>ag :Ag <C-R><C-W><CR>
nnoremap <silent> <Leader>AG :Ag <C-R><C-A><CR>
xnoremap <silent> <Leader>ag y:Ag <C-R>"<CR>
nnoremap <silent> <Leader>` :Marks<CR>
" nnoremap <silent> q: :History:<CR>
" nnoremap <silent> q/ :History/<CR>

" inoremap <expr> <c-x><c-t> fzf#complete('tmuxwords.rb --all-but-current --scroll 500 --min 5')
imap <c-x><c-k> <plug>(fzf-complete-word)
imap <c-x><c-f> <plug>(fzf-complete-path)
inoremap <expr> <c-x><c-d> fzf#vim#complete#path('blsd')
imap <c-x><c-j> <plug>(fzf-complete-file-ag)
imap <c-x><c-l> <plug>(fzf-complete-line)

function! s:plug_help_sink(line)
let dir = g:plugs[a:line].dir
for pat in ['doc/*.txt', 'README.md']
let match = get(split(globpath(dir, pat), "\n"), 0, '')
if len(match)
execute 'tabedit' match
return
endif
endfor
tabnew
execute 'Explore' dir
endfunction

command! PlugHelp call fzf#run(fzf#wrap({
\ 'source': sort(keys(g:plugs)),
\ 'sink': function('s:plug_help_sink')}))

function! RipgrepFzf(query, fullscreen)
let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true'
let initial_command = printf(command_fmt, shellescape(a:query))
let reload_command = printf(command_fmt, '{q}')
let options = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
if a:fullscreen
let options = fzf#vim#with_preview(options)
endif
call fzf#vim#grep(initial_command, 1, options, a:fullscreen)
endfunction

command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)

关于vim - 类似FZF的方式快速切换到目录?在 Vim FZF 中包含隐藏文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61534650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com