Linux中國

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

我們不可能記住所有的命令,對吧?是的。除了經常使用的命令之外,我們幾乎不可能記住一些很少使用的長命令。這就是為什麼需要一些外部工具來幫助我們在需要時找到命令。在過去,我們已經點評了兩個有用的工具,名為 「Bashpast」 和 「Keep」。使用 Bashpast,我們可以輕鬆地為 Linux 命令添加書籤,以便更輕鬆地重複調用。而 Keep 實用程序可以用來在終端中保留一些重要且冗長的命令,以便你可以隨時使用它們。今天,我們將看到該系列中的另一個工具,以幫助你記住命令。現在讓我們認識一下 「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

此外,你需要安裝 fzfpeco 工具以啟用互動式搜索。請參閱官方 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 實用程序肯定會有用。

乾杯!

via: https://www.ostechnix.com/pet-simple-command-line-snippet-manager/

作者:SK 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國