16个版本
0.1.60 | 2024年8月11日 |
---|---|
0.1.56 | 2024年8月3日 |
0.1.31 | 2024年7月29日 |
在命令行工具中排名462
每月下载量947
85KB
2K SLoC
Thoth
受Heynote启发的终端便签。
灵感
正如Heynote的GitHub页面所述,它是一个“为开发者定制的便签。它作为一个大型的持久文本缓冲区,你可以在这里写下任何你想要的内容。”这个应用程序真的很棒,我非常喜欢用它作为专门的便签。然而,我在终端工作,我发现有几个工作流程中拥有一个基于终端的便签会很不错。于是,Thoth出现了!Thoth在简洁性方面与Heynote遵循相同的设计理念,但也有一些关键的不同点。
与Heynote的比较
- Thoth中的持久缓冲区以Markdown文件的形式保存在你的家目录中。我这样做是因为我使用Obsidian来记录所有的笔记,我希望我的便签也能在应用程序中显示。
- 块有标题,并且可以通过标题进行选择。
- 可以通过设置环境变量
$EDITOR
或$VISUAL
来使用你最喜欢的终端编辑器(如Neovim、Helix、Vim等)编辑块。 - 一个命令行界面,允许用户通过STDIN将信息管道到一个新块中,或使用STDOUT从块中获取文本。
为什么命名为Thoth?
在埃及学中,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