PathPicker 支持的壳:家酿Linux的的手动安装附加组件 介绍
PathPicker
Facebook PathPicker是一个简单的命令行工具,它解决了从bash输出中选择文件的永久性问题.PathPicker将:
通过观看简单的演示最容易理解:
例子
安装PathPicker后,使用它就像管道一样简单fpp。它需要各种各样的输入 - 尝试以下所有选项:
-
git status | fpp
-
hg status | fpp
-
git grep "FooBar" | fpp
-
grep -r "FooBar" . | fpp
-
git diff HEAD~1 --stat | fpp
-
find . -iname "*.js" | fpp
-
arc inlines | fpp
还有你能想到的任何其他东西!
要求
PathPicker需要Python> 2.6或> 3.0。
支持的壳:
-
最新版本支持csh / fish / rc,但在旧版本的PathPicker中可能存在怪癖或问题。但请注意,如果您的默认shell和当前shell不在同一系列中(bash / zsh … vs fish / rc) ,需要则手动将环境变量导出$SHELL到当前的外壳。
安装PathPicker
家酿
使用Homebrew for mac安装PathPicker最简单:
-
brew update (因为它是新的,所以下拉配方)
-
brew install fpp
Linux的的
在Debian的系统上,通过可以从这里安装Debian的软件包来完成安装要在本地构建包,请运行以下步骤:
$ git clone https://github.com/facebook/PathPicker.git $ cd PathPicker/debian $ ./package.sh $ ls ../fpp_0.7.2_noarch.deb
在Arch Linux上,可以从Arch User Repository(AUR)安装PathPicker.AUR fpp-
git包。
如果您使用的是其他系统,或者更喜欢手动安装,请按照以下说明操作。
手动安装
但是,如果您使用的是没有自制的系统,那么安装PathPicker仍然非常容易,因为它实际上只是一个调用的Python的bash的脚本这些步骤或多或少概述了流程:
cd /usr/local/ # or wherever you install apps git clone https://github.com/facebook/PathPicker.git cd PathPicker/
在这里,我们从回购中的的bash脚本创建一个符号链接,/usr/local/bin/假设它在当前 $PATH
ln -s "$(pwd)/fpp" /usr/local/bin/fpp fpp --help # should work!
附加组件
对于tmux用户,您可以另外安装tmux-fpp添加密钥组合以在最后收到的路径上运行PathPicker
stdout。它使得跳转到文件选择模式变得更加容易 - 请在此处查看。
高级功能
如上所述,PathPicker允许您还使用指定的文件执行任意命令以下是显示。git checkout针对所选文件执行的命令的示例:
所选文件将附加到命令前缀以形成最终命令如果您需要命令中间的文件,则可以使用。$F令牌,例如:
cat $F | wc -l
另一个重要的注意事项是PathPicker默认只选择文件系统上存在的文件。如果您想跳过此(可能是选定的已删除文件git status),只需使用--no-file-checks(或-nfc简称)标志运行PathPicker。
PathPicker的工作原理
PathPicker是的bash脚本和一些小型的python模块的组合它基本上有三个步骤:
- 首先,bash的脚本将所有标准重定向到蟒模块,该模块解析并提取文件名候选。这些候选词是用一系列正则表达式提取的,因为PathPicker的输入可以是来自另一个程序的任何标准输出。我们不是为每个程序制作专门的解析器,而是将所有内容视为嘈杂的输入,并通过正则表达式选择候选者。为了限制对文件系统的调用次数(检查存在),我们对我们提取的候选者有相当的限制。
这样做的缺点是,没有扩展名(如test)的单个单词的文件将无法匹配。这是PathPicker的已知限制,意味着它有时无法在输入中找到有效文件。
它不是世界上最优雅的建筑,但(我们认为)提供了很多实用性。
文档和配置
有关所有文档和配置选项,请参阅输出fpp --help。
PathPicker 支持的壳:家酿Linux的的手动安装附加组件 官网
https://github.com/facebook/PathPicker
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。