#notes #memo #search #tags #note #tool #ignore

app jmemo

一个简单的CUI工具,用于维护笔记

3 个版本

0.1.2 2023年10月12日
0.1.1 2023年10月9日
0.1.0 2023年10月9日

#603 in 文本处理

MIT/Apache

360KB
883

jmemo

jmemo (memo) 是一个简单的CUI工具,用于创建和管理笔记。

  • 支持纯文本和HTML笔记。
  • 支持笔记分类的标签。
  • 智能笔记搜索。
    • 通过标签搜索笔记。
    • 支持使用逻辑运算符如 "or (+)"、"not (-)"、"and (*)" 搜索多个关键字。
    • 忽略大小写等

依赖项

目前,jmemo使用 w3m 显示笔记,并使用 vim 创建/编辑笔记。

使用方法

创建新笔记

$ memo -a 

sample

jmemo 将启动 vim 创建新笔记。第一行是笔记的标题,将在笔记视图中显示。标签是标题中的单词,用 "[]" 包围,如 [jmemo]。您可以在标题中创建多个标签。

通过指定 "-A" 而不是 "-a",可以创建 HTML 笔记,您可以在笔记中使用 HTML 标签。

$ memo -A

sample

笔记

  • 如果您删除所有内容并退出,则不会保存笔记。您也可以使用这种方法删除笔记。
  • 创建的笔记将保存为 ${HOME}/.memo/memo/ 下的纯文本/HTML 文件。

搜索和显示笔记

按标签搜索

使用 "-t TAG" 指定一个标签以搜索所有标记了该标签的笔记。搜索结果将通过 w3m 显示。您可以使用 w3m 浏览它们。

$ memo -t <jmemo> [-WI]

sample

笔记

  • 默认情况下,标签可以进行部分匹配。例如,您可以指定 "j" 以匹配所有包含 "j" 的标签。如果您想匹配完整的标签名称,请添加 "-W" 选项。
  • 默认情况下,标签是区分大小写的,您可以使用 "-I" 忽略大小写。

按关键字搜索

可以通过指定关键字而不带选项进行全文搜索。以下示例搜索包含 "example" 的所有笔记。

$ memo example

sample

您可以使用逻辑运算符过滤搜索结果。以下命令使用 "And (*)" 运算符搜索同时包含 "example" 和 "memo" 关键字的搜索结果。

$ memo 'example * memo'

sample

笔记

  • 请使用单引号('')确保逻辑运算符不被 shell 传输。
  • 以下逻辑运算符受支持
    • And (*)
      'example * memo' 表示包含 "example" 和 "memo" 关键字。
    • Or (+) 'example + memo' 表示包含 "example" 或 "memo" 关键字。
    • “非(-) '示例 + 备忘'”表示包含“示例”,但不包含“备忘”关键词。
  • 可以使用多个逻辑运算符。所有运算符都从左到右应用,没有优先级。
  • 默认情况下,关键词是部分匹配的。如果您想匹配完整关键词,请添加“-W”选项。
  • 默认情况下,关键词是区分大小写的,您可以使用“-I”来忽略大小写。
  • 您可以将标签和关键词搜索结合起来使用,在这种情况下,搜索结果将限于指定标签的笔记。
  • 如果既未指定标签也未指定关键词,则将显示所有笔记。

删除笔记

您可以使用“-d”选项与搜索结合来选择要删除的笔记。

$ memo 'jdemo + jmemo * note' -d

sample

上面的示例将删除No1、No2和No4笔记。如果您输入“y”、“yes”、“Y”或“Yes”,则将删除列出的所有笔记。其他键将忽略删除操作。

依赖关系

~6.5–9MB
~145K SLoC