我经常用来fzf导航文件系统,尤其是 Alt-c 键绑定。
调用时,fzf从当前工作目录生成一个列表。
是否可以fzf从指定目录生成列表?
我已经尝试过fzf <dir>,但它会导致错误(未知选项)。另外,我找不到任何选项,例如-C <dir>指定起始目录。
当我:Files在 fzf.vim 中使用时,它会搜索当前目录和子目录中的文件。当前工作目录是固定的。在下面的屏幕截图中,它是浅蓝色的。有没有办法动态更改运行 FZF 的工作目录?例如,如果我只是删除“Documents”路径,那么 FZF 从 ~ 而不是 ~/Documents 开始。
这种功能在 Emacs helm 包中是可能的,它允许通过 helm-execute-persistent-action 来实现。
我经常在屏幕上使用一个常见的布局 - 一些垂直拆分,左侧的文件树(NerdTree)。
当我需要一个新的缓冲区时,我通常希望它进入一个特定的拆分。例如,想象以下窗口结构:
| file_tree | split1 | split2 |
现在我调用文件列表命令(在我的例子中是 fzf)。当我找到文件名时,我想按诸如Ctrl+1在 中打开文件split1、Ctrl+2在 中打开文件split2等。如何实现这样的快捷方式?具体来说,如果可能的话,使用 fzf。
不然体验有点尴尬:
file_tree拆分中打开文件。我使用 fzf.vim 在 neovim 中快速查找项目中的文件。
有时,因为我找不到我要查找的内容,或者因为我在打开新文件之前忘记执行某些操作,我需要取消并关闭弹出窗口而不选择任何结果。
目前,要做到这一点,我按<Esc>进入正常模式,然后:q但理想情况下,将其映射到组合键(例如<C-x>
如何映射仅针对 FZF 窗口的键绑定?或者是否有任何组合键已经关闭弹出窗口而无需任何进一步操作?
提前致谢
我在工作中经常使用 fzf.vim,但不知道如何从搜索结果中排除不正确的行。这是我遇到的问题的一个例子。
我需要找到每个model.search_views事件,但也需要找到model.search_views_smth事件。如何从结果中排除最后一项?
这似乎是显而易见的,但我花了很多时间并没有找到我的问题的答案。
我使用便利包fzf.vim将fzf与vim集成。文件搜索工作完美,并完全取代了 CtrlP 插件,但 grep 文件的功能有 fzf 认为自动附加文件名的不幸副作用(通过 ripgrep,但这种情况与 ag(银搜索器)和常规grep 也是)是搜索字符串的一部分。
因此,最好的结果并不总是出现在顶部(或在我的情况下基于布局的底部)。下面是一个例子:
在这种情况下最后出现的结果实际上应该是第一个,因为它是唯一按内容匹配的结果(如 Rg 所预期的那样)而不是文件名。这个问题在大型 repos 上尤其令人沮丧,其中不相关的结果可能会占用您的整个搜索空间。
我还应该澄清一下,问题的发生是因为我:Rg从快捷方式调用,所以过滤是由 fzf 完成的,而不是 rg(它只是将所有内容转储到 fzf)。
这个问题发生在:Rg与fzf.vim捆绑的默认实现中,以及我尝试推出自己的:
command! -bang -nargs=* Rg
\ call fzf#vim#grep(
\ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(<q-args>), 1,
\ <bang>0 ? fzf#vim#with_preview('up:60%')
\ : fzf#vim#with_preview('right:50%:hidden', '?'),
\ <bang>0)
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何解决这个问题。有人可以帮忙吗?
我刚刚安装Neovim v0.4.4与fzf.vim(提交)使用运行Manjaro在新机器上sudo pacman -Sy neovim。以前(未知版本)FZF 的窗口出现在底部的拆分中,但现在它显示为窗口中间的一个窗口,如下面的屏幕截图所示。如何将其配置为底部的拆分?
.vimrc:
call plug#begin('~/.vim/plugged')
" PlugInstall and PlugUpdate will clone fzf in ~/.fzf and run install script
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" Initialize plugin system
call plug#end()
map <C-F> :Files<CR>
Run Code Online (Sandbox Code Playgroud)
如何使 fzf.vimp 弹出窗口的颜色与终端中的颜色相同?最新更新使用 g:fzf_colors 将其更改为当前的 Vim 主题。我尝试将其设置为“”,还尝试将颜色规格更改为忽略,但这不起作用。我在终端中有半透明背景,这就是 Vim 中 FZF 窗口中显示的内容,尽管 Vim 背景是灰色的(Zenburn)。
维姆 8.2。
我正在尝试在 Windows 10 上为 vim设置fzf.vim 。
您可以使用替代的 find 命令,如ripgrep或fd,它应该尊重 .gitignore。
我的 .gitignore 文件有这一行,对于 git 提交等工作正常:
node_modules/
Run Code Online (Sandbox Code Playgroud)
我的目录结构是
/working directory
.gitignore file
.git dir
/node_modules dir
Run Code Online (Sandbox Code Playgroud)
当我跑步时
fd --type f
Run Code Online (Sandbox Code Playgroud)
或者
rg --files
Run Code Online (Sandbox Code Playgroud)
它列出了node_modules 中的所有文件。
我感觉这可能是windows的问题。
如何让这些程序使用 .gitignore 来忽略 node_modules?
vim-fzf ×9
vim ×7
fzf ×6
neovim ×2
bash ×1
directory ×1
filesystems ×1
fuzzy-search ×1
ripgrep ×1