PRF:20180122 A Simple Command-line Snippet Manager.md

@MjSeven
This commit is contained in:
Xingyu.Wang 2018-05-02 21:53:37 +08:00
parent f238012f8d
commit a4dec2d9ee

View File

@ -1,12 +1,13 @@
一个简单的命令行片段管理器 Pet一个简单的命令行片段管理器
===== =====
![](https://www.ostechnix.com/wp-content/uploads/2018/01/pet-6-720x340.png) ![](https://www.ostechnix.com/wp-content/uploads/2018/01/pet-6-720x340.png)
我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。在过去,我们已经审查了两个有用的工具,名为 "Bashpast" 和 "Keep"。使用 Bashpast我们可以轻松地为 Linux 命令添加书签以便更轻松地重复调用。而且Keep 实用程序可以用来在终端中保留一些重要且冗长的命令,以便你可以按需使用它们。今天,我们将看到该系列中的另一个工具,以帮助你记住命令。现在向 "Pet" 打个招呼,这是一个用 Go 语言编写的简单的命令行代码管理器。
我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。在过去,我们已经点评了两个有用的工具,名为 “Bashpast” 和 “Keep”。使用 Bashpast我们可以轻松地为 Linux 命令添加书签,以便更轻松地重复调用。而 Keep 实用程序可以用来在终端中保留一些重要且冗长的命令,以便你可以随时使用它们。今天,我们将看到该系列中的另一个工具,以帮助你记住命令。现在让我们认识一下 “Pet”这是一个用 Go 语言编写的简单的命令行代码管理器。
使用 Pet你可以 使用 Pet你可以
* 注册/添加你重要的冗长和复杂的命令片段。 * 注册/添加你重要的冗长和复杂的命令片段。
* 以交互方式来搜索保存的命令片段。 * 以交互方式来搜索保存的命令片段。
* 直接运行代码片段而无须一遍又一遍地输入。 * 直接运行代码片段而无须一遍又一遍地输入。
* 轻松编辑保存的代码片段。 * 轻松编辑保存的代码片段。
@ -14,68 +15,78 @@
* 在片段中使用变量 * 在片段中使用变量
* 还有很多特性即将来临。 * 还有很多特性即将来临。
### 安装 Pet 命令行接口代码管理器
#### 安装 Pet 命令行接口代码管理器
由于它是用 Go 语言编写的,所以确保你在系统中已经安装了 Go。 由于它是用 Go 语言编写的,所以确保你在系统中已经安装了 Go。
安装 Go 后,从 [**Pet 发布页面**][3] 获取最新的二进制文件。 安装 Go 后,从 [**Pet 发布页面**][3] 获取最新的二进制文件。
``` ```
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip
``` ```
对于 32 位计算机: 对于 32 位计算机:
``` ```
wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_386.zip wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_386.zip
``` ```
解压下载的文件: 解压下载的文件:
``` ```
unzip pet_0.2.4_linux_amd64.zip unzip pet_0.2.4_linux_amd64.zip
``` ```
对于 32 位: 对于 32 位:
``` ```
unzip pet_0.2.4_linux_386.zip unzip pet_0.2.4_linux_386.zip
``` ```
将 pet 二进制文件复制到 PATH**/usr/local/bin** 之类的)。 `pet` 二进制文件复制到 PATH`/usr/local/bin` 之类的)。
``` ```
sudo cp pet /usr/local/bin/ sudo cp pet /usr/local/bin/
``` ```
最后,让它可以执行: 最后,让它可以执行:
``` ```
sudo chmod +x /usr/local/bin/pet sudo chmod +x /usr/local/bin/pet
``` ```
如果你使用的是基于 Arch 的系统,那么你可以使用任何 AUR 帮助工具从 AUR 安装它。 如果你使用的是基于 Arch 的系统,那么你可以使用任何 AUR 帮助工具从 AUR 安装它。
使用 [**Pacaur**][4]: 使用 [Pacaur][4]
``` ```
pacaur -S pet-git pacaur -S pet-git
``` ```
使用 [**Packer**][5]: 使用 [Packer][5]
``` ```
packer -S pet-git packer -S pet-git
``` ```
使用 [**Yaourt**][6]: 使用 [Yaourt][6]
``` ```
yaourt -S pet-git yaourt -S pet-git
``` ```
使用 [**Yay** :][7] 使用 [Yay][7]
``` ```
yay -S pet-git yay -S pet-git
``` ```
此外,你需要安装 **[fzf][8]** 或 [**peco**][9] 工具已启用交互式搜索。请参阅官方 GitHub 链接了解如何安装这些工具。 此外,你需要安装 [fzf][8] 或 [peco][9] 工具以启用交互式搜索。请参阅官方 GitHub 链接了解如何安装这些工具。
#### 用法 ### 用法
运行没有任何参数的 `pet` 来查看可用命令和常规选项的列表。
运行没有任何参数的 'pet' 来查看可用命令和常规选项的列表。
``` ```
$ pet $ pet
pet - Simple command-line snippet manager. pet - Simple command-line snippet manager.
@ -103,21 +114,23 @@ Use "pet [command] --help" for more information about a command.
``` ```
要查看特定命令的帮助部分,运行: 要查看特定命令的帮助部分,运行:
``` ```
$ pet [command] --help $ pet [command] --help
``` ```
**配置 Pet** #### 配置 Pet
它只适用于默认值。但是,你可以更改默认目录来保存片段,选择要使用的选择器 (fzf 或 peco),默认文本编辑器编辑片段,添加 GIST id 详细信息等。
默认配置其实工作的挺好。但是你可以更改保存片段的默认目录选择要使用的选择器fzf 或 peco编辑片段的默认文本编辑器添加 GIST id 详细信息等。
要配置 Pet运行 要配置 Pet运行
``` ```
$ pet configure $ pet configure
``` ```
该命令将在默认的文本编辑器中打开默认配置(例如我是 **vim**),根据你的要求更改或编辑特定值。 该命令将在默认的文本编辑器中打开默认配置(例如我是 vim根据你的要求更改或编辑特定值。
``` ```
[General] [General]
snippetfile = "/home/sk/.config/pet/snippet.toml" snippetfile = "/home/sk/.config/pet/snippet.toml"
@ -133,24 +146,27 @@ $ pet configure
~ ~
``` ```
**创建片段** #### 创建片段
为了创建一个新的片段,运行: 为了创建一个新的片段,运行:
``` ```
$ pet new $ pet new
``` ```
添加命令和描述,然后按下 ENTER 键保存它。 添加命令和描述,然后按下回车键保存它。
``` ```
Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9' Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
Description> Remove numbers from output. Description> Remove numbers from output.
``` ```
[![][10]][11] ![][11]
这是一个简单的命令,用于从 echo 命令输出中删除所有数字。你可以很轻松地记住它。但是,如果你很少使用它,几天后你可能会完全忘记它。当然,我们可以使用 "CTRL+r" 搜索历史记录,但 "Pet" 会更容易。另外Pet 可以帮助你添加任意数量的条目。 这是一个简单的命令,用于从 `echo` 命令输出中删除所有数字。你可以很轻松地记住它。但是,如果你很少使用它,几天后你可能会完全忘记它。当然,我们可以使用 `CTRL+R` 搜索历史记录,但 Pet 会更容易。另外Pet 可以帮助你添加任意数量的条目。
另一个很酷的功能是我们可以轻松添加以前的命令。为此,在你的 `.bashrc``.zshrc` 文件中添加以下行。
另一个很酷的功能是我们可以轻松添加以前的命令。为此,在你的 **.bashrc** 或 **.zshrc** 文件中添加以下行。
``` ```
function prev() { function prev() {
PREV=$(fc -lrn | head -n 1) PREV=$(fc -lrn | head -n 1)
@ -159,46 +175,53 @@ function prev() {
``` ```
执行以下命令来使保存的更改生效。 执行以下命令来使保存的更改生效。
``` ```
source .bashrc source .bashrc
``` ```
或者 或者:
``` ```
source .zshrc source .zshrc
``` ```
现在,运行任何命令,例如: 现在,运行任何命令,例如:
``` ```
$ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g" $ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"
``` ```
要添加上述命令,你不必使用 "pet new" 命令。只需要: 要添加上述命令,你不必使用 `pet new` 命令。只需要:
``` ```
$ prev $ prev
``` ```
将说明添加到命令代码片段中,然后按下 ENTER 键保存。 将说明添加到该命令代码片段中,然后按下回车键保存。
![][12] ![][12]
**片段列表** #### 片段列表
要查看保存的片段,运行: 要查看保存的片段,运行:
``` ```
$ pet list $ pet list
``` ```
![][13] ![][13]
**编辑片段** #### 编辑片段
如果你想编辑代码片段的描述或命令,运行:
如果你想编辑描述或代码片段的命令,运行:
``` ```
$ pet edit $ pet edit
``` ```
这将在你的默认文本编辑器中打开所有保存的代码片段,你可以根据需要编辑或更改片段。 这将在你的默认文本编辑器中打开所有保存的代码片段,你可以根据需要编辑或更改片段。
``` ```
[[snippets]] [[snippets]]
description = "Remove numbers from output." description = "Remove numbers from output."
@ -211,33 +234,35 @@ $ pet edit
output = "" output = ""
``` ```
**在片段中使用标签** #### 在片段中使用标签
要将标签用于判断,使用下面的 `-t` 标志。
要将标签用于判断,使用下面的 **-t** 标志。
``` ```
$ pet new -t $ pet new -t
Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9 Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9
Description> Remove numbers from output. Description> Remove numbers from output.
Tag> tr command examples Tag> tr command examples
``` ```
**执行片段** #### 执行片段
要执行一个保存的片段,运行: 要执行一个保存的片段,运行:
``` ```
$ pet exec $ pet exec
``` ```
从列表中选择你要运行的代码段,然后按 ENTER 键来运行它: 从列表中选择你要运行的代码段,然后按回车键来运行它:
![][14] ![][14]
记住你需要安装 fzf 或 peco 才能使用此功能。 记住你需要安装 fzf 或 peco 才能使用此功能。
**寻找片段** #### 寻找片段
如果你有很多要保存的片段,你可以使用字符串或关键词如 below.qjz 轻松搜索它们。 如果你有很多要保存的片段,你可以使用字符串或关键词如 below.qjz 轻松搜索它们。
``` ```
$ pet search $ pet search
``` ```
@ -246,40 +271,43 @@ $ pet search
![][15] ![][15]
**同步片段** #### 同步片段
首先,你需要获取访问令牌。转到此链接 <https://github.com/settings/tokens/new> 并创建访问令牌(只需要 "gist" 范围)。 首先,你需要获取访问令牌。转到此链接 <https://github.com/settings/tokens/new> 并创建访问令牌(只需要 “gist” 范围)。
使用以下命令来配置 Pet 使用以下命令来配置 Pet
``` ```
$ pet configure $ pet configure
``` ```
标记设置到 **[Gist]** 字段中的 **access_token** 令牌设置到 `[Gist]` 字段中的 `access_token`
设置完成后,你可以像下面一样将片段上传到 Gist。 设置完成后,你可以像下面一样将片段上传到 Gist。
``` ```
$ pet sync -u $ pet sync -u
Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869 Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869
Upload success Upload success
``` ```
你也可以在其他 PC 上下载片段。为此,编辑配置文件并在 **[Gist]** 中将 **Gist ID** 设置为 **gist_id** 你也可以在其他 PC 上下载片段。为此,编辑配置文件并在 `[Gist]` 中将 `gist_id` 设置为 GIST id。
之后,使用以下命令下载片段:
之后,下载片段使用以下命令:
``` ```
$ pet sync $ pet sync
Download success Download success
``` ```
获取更多细节,参阅 help 选项: 获取更多细节,参阅帮助选项:
``` ```
pet -h pet -h
``` ```
或者 或者:
``` ```
pet [command] -h pet [command] -h
``` ```
@ -289,14 +317,13 @@ pet [command] -h
干杯! 干杯!
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
via: https://www.ostechnix.com/pet-simple-command-line-snippet-manager/ via: https://www.ostechnix.com/pet-simple-command-line-snippet-manager/
作者:[SK][a] 作者:[SK][a]
译者:[MjSeven](https://github.com/MjSeven) 译者:[MjSeven](https://github.com/MjSeven)
校对:[校对者ID](https://github.com/校对者ID) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出