PathPicker

bash 中的文件查看器
授权协议 BSD
开发语言 Python
所属分类 开发工具、 Python开发工具
软件类型 开源软件
地区 不详
投 递 者 符渊
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

PathPicker

Facebook PathPicker是一个简单的命令行工具,它解决了从bash输出中选择文件的永久性问题.PathPicker将:

  • 解析所有传入行以查找看起来像文件的条目

  • 在方便的选择器的用户界面中呈现管道输入

  • 允许您:

    • 编辑您喜欢的所选文件 $EDITOR

    • 用它们执行任意命令

通过观看简单的演示最容易理解:

例子

安装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。

支持的壳:

  • 击完全支持并且效果最好。

  • ZSH也受支持,但在命令行模式下不会有像别名扩展这样的功能。

  • 最新版本支持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的已知限制,意味着它有时无法在输入中找到有效文件。

  • 接下来,curses向用户呈现构建的选择器UI。在这里,您可以选择一些文件进行编辑或输入要执行的命令。

  • 最后,蟒蛇脚本将命令输出到bash的文件,该文件稍后由原始的bash脚本执行。

它不是世界上最优雅的建筑,但(我们认为)提供了很多实用性。

文档和配置

有关所有文档和配置选项,请参阅输出fpp --help

 相关资料
  • 查看文件里面的内容,你可以用 vi 打开这个文件,如果你只想输出文件里的内容,可以使用 cat 命令。如果文件比较大,你只想输出文件的最后一小部分,可以使用 tail 命令。 先在 ninghao-project/README.md 文件里追加点内容,可以这样做: echo "hello" >> ninghao-project/README.md cat cat,可以直接输出文件里的内容。 ca

  • 问题内容: 我有一个日志文件,该文件是由另一个要监视更改的进程编写的。每次发生更改时,我都希望读入新数据以对其进行一些处理。 最好的方法是什么?我希望从PyWin32库中获得某种吸引。我找到了该功能,但不知道如何要求它观看特定文件。 问题答案: 你是否已经看过http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_chang

  • 我正试图从以下URL在Android WebView中打开一个pdf文件: http://bijsluiters.fagg-afmps.be/registrationsearchservlet?key=be-tu441865&leaflettype=leafletnl 我也尝试了'LoadWithBaseURL'方法,但也不起作用...

  • 快速调出当前文件的结构,并通过模糊匹配快速跳转至指定的方法 此功能很实用,建议熟练掌握 操作步骤: 菜单栏: Navigate —> File Structure 快捷键: Mac: Fn + Command + F12 Windows\/Linux: Ctrl + F12 显示匿名内部类 勾选 Show Anonymous Classes 显示所有继承的方法 勾选 Show inherited

  • 1.手机版 查找方法:群聊右上角图标-群文件   2.电脑版 查找方法:群聊右上角图标-群文件

  • 前面小节介绍了文件和目录相关的操作,本小节介绍如何使用 file、cat、more、tail 命令在不同场景下去查看文件相关信息和内容。 1. file 查看文件类型 file 命令可以用来查看文件类型,还能查看文件的编码格式,下面列举一些 file 命令的参数: file 命令参数名称 功能与作用描述 -b 表示 --brief,显示查看结果时,不显示文件名 -c 表示 --checking-p

  • iOS自身带有快捷查看文件方式的框架 ,可以对一些常用资源文件进行查看,能够查看的文件格式包括图片,word,ppt,pdf等。Demo是读取和查看保存在设备Document文件夹的文件。 [Code4App.com]

  • 比如Activity 绑定了xml,可以使用此功能快速跳转到绑定的xml 操作步骤: 菜单栏: Navigate —> Related Symbol 快捷键: Mac: control + command + ↑ Windows\/Linux: Ctrl + Alt + Home