5 个版本

0.1.5 2023年9月6日
0.1.4 2023年4月10日

#1420命令行工具

每月 28 次下载

MIT 许可证

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.tomlaliases.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