5 个版本
0.1.5 | 2023年9月6日 |
---|---|
0.1.4 | 2023年4月10日 |
#1420 在 命令行工具
每月 28 次下载
31KB
640 行
Bmark
你是否曾经打开终端,只是为了花费接下来的几秒钟导航到正确的文件夹?不再有这种情况了!介绍 bmark
,本地书签管理器。通过类似于 dmenu 的模糊搜索器搜索本地书签,并在该目录中直接打开终端!
功能
- 从终端快速添加和管理本地书签
- 使用类似于 dmenu 的模糊搜索器直接在书签位置打开终端仿真器。
- 使用 shell 别名导航到书签位置(见 别名)。
依赖
此工具已在 fedora linux 和 nixos 上进行了测试,应在所有 Linux 发行版上工作。目前不支持 MacOS 和 Windows,但将来可能会实现。
为了让此工具即插即用,您需要在您的系统上安装以下内容
尽管这些程序是默认的,但 它们不是严格必需的,因为可以使用 配置文件 用类似程序替换它们。
快速入门
从零到 bmark
。
安装 cargo 和默认程序。
Fedora
sudo dnf install cargo rofi kitty neovim
现在安装 bmark
。
cargo install bmark
如果您还没有这样做,请将 ~/.cargo/bin
文件夹添加到您的 $PATH
。这可以通过将以下行添加到您的 ~/.bashrc
或 ~/.zshrc
来完成
PATH=$HOME/.cargo/bin:$PATH
现在您应该在终端中能够运行 bmark
!
要启用 bmark 的导航别名,您还需要源 aliases.sh 文件。执行此操作的命令可以像这样自动添加到您的 shell 配置中
# For bash:
bmark config source-cmd >> ~/.bashrc && bash
# For zsh:
bmark config source-cmd >> ~/.zshrc && zsh
全部完成!
命令
不带参数运行以获得快速概述
bmark
输出
Optional arguments:
-h, --help print help message
-v, --verbose be verbose
Subcommands:
add add a bookmark to the current working directory
edit edit bookmarks in a text editor
list list all stored bookmarks
open open a new terminal in a bookmarked location
rm remove a bookmark with a given name
config commands for managing bmark configuration
update update shell aliases file
add
在当前工作目录中添加书签。默认情况下,此书签的名称将与当前目录相同(例如:“foo/bar” -> “bar”),但您可以通过提供不同的名称来指定。
编辑
直接在您的编辑器中编辑 bookmarks.toml
文件。编辑器由 editor_cmd
选项确定(默认为 'nvim')。
列出
在终端中列出当前书签。
打开
启动类似于 dmenu 的程序,通过书签进行搜索并打开选中位置的终端。终端和类似于 dmenu 的程序由用户 配置 确定(默认为 'kitty' 和 'rofi')。
删除
通过名称删除书签。
配置
管理配置的命令。
查看 配置。
更新
更新别名文件(见 别名)。每次您通过更改书签文件时,此操作会自动执行。如果手动打开 bookmarks.toml
文件而不使用 bmark edit
,则此命令才有用。执行此命令的方式如下所示
bmark config source-cmd
别名
bmark
自动在数据目录中创建一个名为 aliases.sh
的文件。此文件定义了shell别名,可以导航到所有书签。
如果您有一个名为“myMark”的书签,您可以像这样导航到它
_myMark
所有书签别名默认以前缀 '_' 开头。这可以通过 alias_prefix
选项更改。
要在您的shell中启用此功能,您需要从shell配置文件(例如:.bashrc
或 .zshrc
)中源别名文件。
配置
使用配置文件执行 bmark
配置。此文件位于配置目录中(例如:~/.config/bmark/config.toml
)。要使用默认值创建配置文件,请运行以下命令
bmark config create
使用此命令轻松编辑配置文件
bmark config edit
要显示当前配置,请运行此命令
bmark config show
配置值列表
选项 | 默认值 |
---|---|
data_dir | "~/.local/share/bmark" |
dmenu_cmd | "rofi -matching fuzzy -dmenu" |
editor_cmd | "nvim" |
terminal_cmd | "kitty --detach" |
alias_prefix | "_" |
show_paths | false |
display_sep | " : " |
值的描述
data_dir
存储 bookmarks.toml
和 aliases.sh
文件的目录。
dmenu_cmd
用于模糊搜索书签的 dmenu-like 命令。该程序应(如 dmenu)从管道读取输入,并将选中的行输出到 stdout。要检查程序是否适合此目的,您可以运行以下命令
seq 20 | <dmenu_cmd>
这应在终端中显示一个包含 1 到 20 的数字的菜单,当您选择一个时,它应该输出到终端。
如果您的命令有效,您可以通过将类似的内容添加到 '~/.config/bmark/config.toml' 文件中来让 bmark 使用它
dmenu_cmd = "<dmenu_cmd>"
默认命令是 rofi -dmenu
。
使用实际的 dmenu
如果您想使用实际的 dmenu 而不是 rofi,只需将其添加到您的 配置 中即可。
dmenu_cmd = "dmenu"
(请确保已安装 rofi)
editor_cmd
编辑器命令会在您要求bmark编辑文件时运行(例如:bmark edit
)。该命令应该可以像这样使用。
<editor_cmd> <file>
为此,建议使用基于终端的编辑器,例如neovim。
terminal_cmd
终端命令是用于在所需位置启动终端模拟器的命令。该命令应该能够以这种方式在根目录中启动一个终端。
<terminal_cmd> /
如果您不使用kitty
终端,您可能需要更改此设置。
alias_prefix
生成别名前书名前的前缀。
show_paths
是否在dmenu-like模糊查找器中显示路径。如果为false,则display_sep
没有效果。
display_sep
在列出或搜索您的书签时,分隔书签名与其路径的字符。
依赖
~3–14MB
~122K SLoC