#笔记 #便签 #终端

bin+lib thoth-cli

类似于Heynote的终端便签

16个版本

0.1.60 2024年8月11日
0.1.56 2024年8月3日
0.1.31 2024年7月29日

命令行工具中排名462

Download history 177/week @ 2024-07-22 571/week @ 2024-07-29 163/week @ 2024-08-05 36/week @ 2024-08-12

每月下载量947

MIT授权

85KB
2K SLoC

Thoth

CI Release Auto Tag and Update Version Crates.io Docs.rs

thoth

Heynote启发的终端便签。

灵感

正如Heynote的GitHub页面所述,它是一个“为开发者定制的便签。它作为一个大型的持久文本缓冲区,你可以在这里写下任何你想要的内容。”这个应用程序真的很棒,我非常喜欢用它作为专门的便签。然而,我在终端工作,我发现有几个工作流程中拥有一个基于终端的便签会很不错。于是,Thoth出现了!Thoth在简洁性方面与Heynote遵循相同的设计理念,但也有一些关键的不同点。

与Heynote的比较

  • Thoth中的持久缓冲区以Markdown文件的形式保存在你的家目录中。我这样做是因为我使用Obsidian来记录所有的笔记,我希望我的便签也能在应用程序中显示。
  • 块有标题,并且可以通过标题进行选择。
  • 可以通过设置环境变量 $EDITOR$VISUAL 来使用你最喜欢的终端编辑器(如Neovim、Helix、Vim等)编辑块。
  • 一个命令行界面,允许用户通过STDIN将信息管道到一个新块中,或使用STDOUT从块中获取文本。

为什么命名为Thoth?

image

在埃及学中,Thoth是书写、智慧和魔法的神。Thoth负责向埃及神明传递信息和记录知识和事件。这似乎是一个适合持久便签的名字 :)。

构建Thoth的主要工具

安装

Homebrew

brew tap jooaf/homebrew-thoth
brew install thoth

Cargo

如果你已经在你的机器上安装了 cargo,你可以直接从crates.io下载

cargo install thoth-cli --locked

Debian/Ubuntu

你可以通过以下操作安装你平台的 .deb(注意:以下URL是一个示例。要获取最新版本,请查看版本部分)

# x86-64
curl -LO https://github.com/jooaf/thoth/releases/download/v0.1.30/thoth_0.1.30_linux_amd64.deb
sudo dpkg -i thoth_0.1.30_linux_amd64.deb

# ARM64
curl -LO https://github.com/jooaf/thoth/releases/download/v0.1.30/thoth_0.1.30_linux_arm64.deb
sudo dpkg -i thoth_0.1.30_linux_arm64.deb

Fedora/CentOS

您可以通过以下步骤安装适用于您平台的 .rpm(注意:此URL仅为示例。要获取最新版本,请查看 发布 部分)

# x86-64
https://github.com/jooaf/thoth/releases/download/v0.1.30/thoth_0.1.30_linux_amd64.rpm
sudo rpm -i thoth_0.1.30_linux_amd64.rpm

# ARM64
curl -LO https://github.com/jooaf/thoth/releases/download/v0.1.30/thoth_0.1.30_linux_arm64.rpm
sudo dpkg -i thoth_0.1.30_linux_arm64.rpm

通过发布部分获取二进制文件

前往 发布 页面,下载与您的操作系统相关的 .tar.gz 文件(注意:目前支持Linux和MacOS)。下载zip文件后,转到文件下载位置,解压,并执行以下操作以授予二进制可执行权限:

cd /path/to/binary
chmod +x thoth

如果您选择,可以移动二进制文件。最后,将二进制文件的路径添加到您的 $PATH

从源代码安装

要从源代码构建,请确保您已安装Rust编译器(版本1.70.0或更高版本)和Cargo包管理器。您可以通过安装 rustup 来安装它们。

安装Rust后,请执行以下操作

git clone https://github.com/jooaf/thoth.git
cd thoth
cargo build --release

二进制文件位于 thoth/target/release/thoth。您可以将二进制文件添加到您的 $PATH

使用说明

这将展示如何通过CLI或TUI使用 scratchpad。

TUI

要启动TUI,只需键入 thoth。由于它是一个持久性缓冲区,当您使用 q 退出时,thoth会保存。

主模式的命令

q: Quit 
<ctrl-n>: Add block in focus
<ctrl-d>: Delete block in focus
<ctrl-y>: Copy the complete block
Enter: Edit block 
<ctrl-f>: Full Screen 
Esc: Exit 
<ctrl-t>: Change title of block 
<ctrl-s>: Select block by title
<ctrl-j>: Format json
<ctrl-k>: Format markdown 

编辑模式的命令

Esc: Exit edit mode
<ctrl-g>: Move cursor top 
<ctrl-b>: Copy highlighted selection 
Shift-Up Arrow or Down: Make highlighted selection by line
<ctrl-y>: Copy the entire block
<ctrl-t>: Change title of block 
<ctrl-s>: Select block by title 
<ctrl-e>: Use external editor 
<ctrl-h>: Bring up other commands

其他命令基于 tui-textarea 中编辑的默认键绑定。

映射 描述
Ctrl+H, Backspace 删除光标前的字符
Ctrl+K 从光标处删除到行尾的内容
Ctrl+W, Alt+Backspace 删除光标前的单词
Alt+D, Alt+Delete 删除光标旁的单词
Ctrl+U 撤销
Ctrl+R 重做
Ctrl+C, Copy 复制选中的文本
Ctrl+X, Cut 剪切选中的文本
Ctrl+P, ↑ 将光标向上移动一行
Ctrl+→ 将光标向前移动一个单词
Ctrl+← 将光标向后移动一个单词
Ctrl+↑ 将光标向上移动一个段落
Ctrl+↓ 将光标向下移动一个段落
Ctrl+E, End, Ctrl+Alt+F, Ctrl+Alt+→ 将光标移至行尾
Ctrl+A, Home, Ctrl+Alt+B, Ctrl+Alt+← 将光标移至行首
Ctrl+K 格式化Markdown块
Ctrl+J 格式化JSON

如果您想使用外部编辑器(例如NeoVim、Helix等),Thoth提供该功能。

CLI

要访问CLI,可以使用 thoth 后跟一个命令。

A terminal scratchpad akin to Heynote

Usage: thoth [COMMAND]

Commands:
  add     Add a new block to the scratchpad
  list    List all of the blocks within your thoth scratchpad
  delete  Delete a block by name
  view    View (STDOUT) the contents of the block by name
  copy    Copy the contents of a block to the system clipboard
  help    Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version  

示例

# For adding new blocks 
thoth add hello_world "Hello, World!";
# For adding new blocks with content from STDIN 
echo "Hello, World (from STDIN)" | thoth add hello_world_stdin;
# Using view to pipe contents into another command
thoth view hello_world_stdin | cat

贡献

贡献总是受欢迎 :) !!! 请查看此 文档 以获取更多信息。

依赖关系

~11–22MB
~303K SLoC