Pet:一個簡單的命令行片段管理器

Linux愛好者2018-05-14 09:12:11

(點擊上方公眾號,可快速關注)


英文:SK,翻譯:Linux中國/MjSeven

linux.cn/article-9600-1.html



我們不可能記住所有的,對吧?是的。除了經常的命令之外,我們幾乎不可能記住一些很少使用的長命令。這就是為什麼需要一些外部工具來幫助我們在需要時找到命令。現在讓我們認識一下 “Pet”,這是一個用 Go 語言編寫的簡單的命令行


使用 Pet,你可以:


  • 註冊/添加你重要的、宂長和複雜的命令

  • 以交互方式來搜索保存的命令片段。

  • 直接運行代碼片段而無須一遍又一遍地輸入。

  • 輕鬆編輯保存的代碼片段。

  • 通過 Gist 同步片段。

  • 在片段中使用變量

  • 還有很多特性即將來臨。


安裝 Pet 命令行接口代碼管理器


由於它是用 Go 語言編寫的,所以確保你在系統中已經安裝了 Go。


安裝 Go 後,從 Pet 發佈頁面 獲取最新的二進制文件。


wget https://github.com/knqyf263/pet/releases/download/v0.2.4/pet_0.2.4_linux_amd64.zip

 

對於 32 位計算機:


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

 

對於 32 位:


unzip pet_0.2.4_linux_386.zip

 

將 pet 二進制文件複製到 PATH(即 /usr/local/bin 之類的)。


sudo cp pet /usr/local/bin/

 

最後,讓它可以執行:


sudo chmod +x /usr/local/bin/pet

 

如果你使用的是基於 Arch 的系統,那麼你可以使用任何 AUR 幫助工具從 AUR 安裝它。


使用 Pacaur:


pacaur -S pet-git

 

使用 Packer:


packer -S pet-git

 

使用 Yaourt:


yaourt -S pet-git

 

使用 Yay:


yay -S pet-git

 

此外,你需要安裝 fzf 或 peco 工具以啟用交互式搜索。請參閲官方 GitHub 鏈接瞭解如何安裝這些工具。


用法


運行沒有任何參數的 pet 來查看可用命令和常規選項的列表。


$ pet

pet - Simple command-line snippet manager.

 

Usage:

pet [command]

 

Available Commands:

configure Edit config file

edit Edit snippet file

exec Run the selected commands

help Help about any command

list Show all snippets

new Create a new snippet

search Search snippets

sync Sync snippets

version Print the version number

 

Flags:

--config string config file (default is $HOME/.config/pet/config.toml)

--debug debug mode

-h, --help help for pet

 

Use "pet [command] --help" for more information about a command.


要查看特定命令的幫助部分,運行:


$ pet [command] --help

 

配置 Pet


默認配置其實工作的挺好。但是,你可以更改保存片段的默認目錄,選擇要使用的選擇器(fzf 或 peco),編輯片段的默認文本編輯器,添加 GIST id 詳細信息等。


要配置 Pet,運行:


$ pet configure

 

該命令將在默認的文本編輯器中打開默認配置(例如我是 vim),根據你的要求更改或編輯特定值。


[General]

snippetfile = "/home/sk/.config/pet/snippet.toml"

editor = "vim"

column = 40

selectcmd = "fzf"

 

[Gist]

file_name = "pet-snippet.toml"

access_token = ""

gist_id = ""

public = false

~


創建片段


為了創建一個新的片段,運行:


$ pet new

 

添加命令和描述,然後按下回車鍵保存它。


Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'

Description> Remove numbers from output.



這是一個簡單的命令,用於從 echo 命令輸出中刪除所有數字。你可以很輕鬆地記住它。但是,如果你很少使用它,幾天後你可能會完全忘記它。當然,我們可以使用 CTRL+R 搜索歷史記錄,但 Pet 會更容易。另外,Pet 可以幫助你添加任意數量的條目。


另一個很酷的功能是我們可以輕鬆添加以前的命令。為此,在你的 .bashrc 或 .zshrc 文件中添加以下行。


function prev() {

PREV=$(fc -lrn | head -n 1)

sh -c "pet new `printf %q "$PREV"`"

}


執行以下命令來使保存的更改生效。


source .bashrc

 

或者:


source .zshrc

 

現在,運行任何命令,例如:


$ cat Documents/ostechnix.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"

 

要添加上述命令,你不必使用 pet new 命令。只需要:


$ prev

 

將説明添加到該命令代碼片段中,然後按下回車鍵保存。



片段列表


要查看保存的片段,運行:


$ pet list

 


編輯片段


如果你想編輯代碼片段的描述或命令,運行:


$ pet edit

 

這將在你的默認文本編輯器中打開所有保存的代碼片段,你可以根據需要編輯或更改片段。


[[snippets]]

description = "Remove numbers from output."

command = "echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'"

output = ""

 

[[snippets]]

description = "Alphabetically sort one line of text"

command = "\t prev"

output = ""


在片段中使用標籤


要將標籤用於判斷,使用下面的 -t 標誌。


$ pet new -t

Command> echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9

Description> Remove numbers from output.

Tag> tr command examples


執行片段


要執行一個保存的片段,運行:


$ pet exec

 

從列表中選擇你要運行的代碼段,然後按回車鍵來運行它:



記住你需要安裝 fzf 或 peco 才能使用此功能。


尋找片段


如果你有很多要保存的片段,你可以使用字符串或關鍵詞如 below.qjz 輕鬆搜索它們。


$ pet search

 

輸入搜索字詞或關鍵字以縮小搜索結果範圍。



同步片段


首先,你需要獲取訪問令牌。轉到此鏈接 https://github.com/settings/tokens/new 並創建訪問令牌(只需要 “gist” 範圍)。


使用以下命令來配置 Pet:


$ pet configure

 

將令牌設置到 [Gist] 字段中的 access_token。


設置完成後,你可以像下面一樣將片段上傳到 Gist。


$ pet sync -u

Gist ID: 2dfeeeg5f17e1170bf0c5612fb31a869

Upload success


你也可以在其他 PC 上下載片段。為此,編輯配置文件並在 [Gist] 中將 gist_id 設置為 GIST id。


之後,使用以下命令下載片段:


$ pet sync

Download success


獲取更多細節,參閲幫助選項:


pet -h

 

或者:


pet [command] -h

 

這就是全部了。希望這可以幫助到你。正如你所看到的,Pet 使用相當簡單易用!如果你很難記住宂長的命令,Pet 實用程序肯定會有用。



看完本文有收穫?請分享給更多人

關注「Linux 愛好者」,提升Linux技能

閲讀原文

TAGS: