问题标签 [fzf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 使用 fzf 从目录中查找并执行程序
我正在尝试为fzf创建一个命令行,它可以让我轻松地选择并运行我下载的众多方便实用程序(即 appimages)之一。
例如,这个 shell 命令会查找我的下载目录中的所有可执行文件:
我可以将它们通过管道传输到 fzf,但是我无法将其转换为将执行所选文件并可以从我的桌面运行此脚本的脚本。
shell - 为 fzf 在“fd”结果前加上“~/”。Sed 抱怨“找不到匹配项”
我正在尝试在 zsh 中为 fzf 创建一个函数。
我想在 fzf 中列出我的主文件夹下的所有目录和文件,在它们前面加上“~/”,然后最终将我的选择保存在一个变量中。
到目前为止,我有这个:
myVar=$(fd -t d -t f . ~ | xargs realpath --relative-to=$HOME | sed s/^/~\// | fzf)
当我只是在 shell 中运行代码时,它会做我想做的事(除了抱怨xargs: unmatched single quote;...
.
但是,当我将它放入一个函数并获取包含它的文件时,sed 抱怨no matches found: s/^/~//
如何使函数的行为与代码在交互式 shell 中运行时的行为相同?不同行为的原因是什么?
vim - 如何在 ripgrep 搜索结果后从 fzf 过滤中排除文件名?
我使用便利包fzf.vim将fzf与vim集成。文件搜索工作完美,并完全取代了 CtrlP 插件,但 grep 文件的功能具有 fzf 考虑自动附加文件名的不幸副作用(通过 ripgrep,但这将是 ag(silver-searcher)和常规的情况grep 也是)是搜索字符串的一部分。
结果,最好的结果并不总是出现在顶部(或在我的情况下基于布局的底部)。这是一个例子: 在这种情况下最后出现的结果实际上应该是第一个,因为它是唯一匹配内容(如 Rg 所期望的)而不是文件名的结果。这个问题在大型存储库中尤其令人沮丧,其中不相关的结果可能会乱扔您的整个搜索空间。
我还应该澄清问题的发生是因为我:Rg
从快捷方式调用,所以过滤是由 fzf 完成的,而不是 rg(它只是将所有内容转储到 fzf)。
此问题发生在与fzf.vim:Rg
捆绑的默认实现以及我自己尝试推出时:
我不知道如何解决这个问题。有人可以帮忙吗?
vim - 如何 fzf 最近的 vim/nvim 文件,而不是在 vim 内部,而是从终端
我知道如何打开 fzf.vim,但我想从终端打开。
grepping history 或 viminfo 可能会实现,但我想知道是否有任何聪明的方法。
grep - Linux shell:使用 grep 和 fzf 在文件中进行交互式模糊搜索内容
我想编写一个 shell 脚本,在特定目录(例如,我的 '.config' 文件夹)中的所有文件中搜索模式。使用 grep 我写了以下内容:
接下来,我尝试使用以下方式动态更改搜索模式:
,但由于我将文件名传递给 fzf - 我只能按名称过滤结果......
基本上我正在寻找类似的东西:
arrays - 允许用户在选择文件到数组后完成并行/xargs命令(函数);在 printf 脚本中正确引用 nuls
这是这个问题的后续问题
在那个问题中,我可以将选定的文件放入一个数组并将它们传递给一个命令/函数(已经导出)。这个问题的不同之处在于我希望用户在选择文件后完成命令。
主要目标:我看到一个文件名列表 (FZF)。我手动选择其中一些。FZF 然后将这个子集放入一个数组中。然后我想编写一个未完成的命令,希望用户完成命令并按Enter
。
文件名中可以有空格;因此选择Null-separated。
我FZF
用来选择文件。我认为它会生成一个包含以空结尾的文件名的数组。但是FZF
产生的第一个项目是按键的名称。这就是脚本以FZF
不同方式处理 ' 输出的第一项的原因。
目前我有
我已经接近了:该命令看起来应该,但 NUL 值没有表现。最后一行不起作用。它旨在在带有空分隔符的行上打印文件数组,并且仍然允许用户在点击之前指定一个函数(已经导出)Enter
。该parallel
命令会将函数应用于数组中的每个文件。
目前,如果我选择file 3
and file 2
,我的脚本输出如下所示:
printf "%s\0" file 3 file 2 | parallel -0
例如,我可能会附加wc
但是在我输入wc
并按下后,Enter
我得到以下结果:
编辑:我现在已经加入了这条线declare -p out
,以明确 FZF 正在生产什么。他们现在出现的结果,使用下面的查尔斯修改是:
所以显然 nuls 出了点问题。
如何修复代码?
linux - 如何使 fzf 发送与标准输出不匹配的文本?
我正在编写一个打开终端并提示用户重命名 fzf 中的文件的脚本。显然,fzf 中没有匹配,所以 fzf 发送一个空字符串,但我希望它发送我写的字符串。dmenu 执行此操作。
例子:
echo "yes\nno" | fzf
只允许输入是或否,否则它会打印一个空字符串
echo "yes\nno" | dmenu
将允许输入任何内容,包括是或否
fzf - .gitignore node_modules/ 不适用于 fd 和 ripgrep
我正在尝试在 Windows 10 上为 vim设置fzf.vim 。
您可以使用应该尊重 .gitignore的替代 find 命令,例如ripgrep或fd。
我的 .gitignore 文件有这一行,它适用于 git 提交等:
我的目录结构是
当我跑
或者
它列出了 node_modules 中的所有文件。
我觉得这可能是一个Windows问题。
如何让这些程序使用 .gitignore 来忽略 node_modules?
docker - 容器在使用 RUN 命令运行时失败,但可以从 bash shell 运行
我正在尝试为“navi”命令创建一个容器,但是当我尝试使用 Dockerfile ENTRYPOINT 或 CMD 命令运行容器时,它失败了。如果我用 bash shell(即 CMD ["bash"])启动容器,然后运行 'navi' 命令它工作正常。
请让我知道我做错了什么,或者依赖项是否不支持从容器运行。
这些是我用来构建和运行它的命令
这是我得到的错误:
回溯输出
fuzzy-search - 使用 fzf 模糊搜索名称和内容来查找文件
问题
我需要模糊搜索文本文件的目录,其中也搜索文件的内容。我目前正在使用 ripgrep 和 fzf 来执行此操作,问题是每个文件的每一行都成为一个搜索项,我需要每个项目包含其文件的所有行。
例子:
我们有以下两个文件:
例子.md
某事某事
某事某事
某事某事
某事某事
有用的例子.md
某事某事
我们rg . | fzf
在包含它们的目录中运行,写入 foo,得到以下结果:
有用的例子.md:something something foo something
example.md:something something foo something
example.md:something something foo something
example.md:something something foo something
example.md:something something foo something
这里的问题是 example.md 的每一行都是一个项目,它应该是一个包含每个文件的项目。它应该看起来像这样:
有用的例子.md:something something foo something
example.md:something something foo something
......................某事富某事
......................某事富某事
......................某事富某事
问题
我该怎么做呢?有人做过我想念的这个吗?