什么是 flomo-cli

这是一款可以在命令行中将笔记和想法保存到 flomo 的工具。

基于 Golang 实现,可通过 Homebrew 便捷安装。

GitHub Repo:https://github.com/MrEasonYang/flomo-cli

中文文档:flomo-cli中文说明

功能

  • 一行命令即可创建 flomo 笔记。
  • 支持编辑器模式,可使用 vim/neovim/emacs 创建笔记。
  • 支持 shell 管道,快速保存文件或过滤结果。

安装

从源码编译安装

保证环境中已安装 1.16 版本以上的 Golang ,执行以下命令即可:

git clone git@github.com:MrEasonYang/flomo-cli.git
cd flomo-cli
go build

使用Homebrew安装

在 Homebrew 中输入以下命令即可完成安装。

brew tap MrEasonYang/taps
brew install flomo

目前支持以下平台:

  • Apple Intel AMD64
  • Apple Silicon
  • Linux AMD64

手动下载安装

如果不喜欢 Homebrew 或正在使用 Windows 系统,那么你可以访问 Release 下载对应平台的最新版本并手动进行配置。

使用

配置

访问 Flomo 个人配置页面 以获取个人的开放 API ,执行以下命令配置 API 到 flomo-cli 中:

flomo set api ${Flomo API}

随后 flomo-cli 将会在用户目录生成名为 .flomo-cli.config 的隐藏文件,该文件的权限为 0600 。

一键保存

Memo 即 flomo 概念下的笔记,只需在各类终端工具的命令行中输入以下命令即可

flomo save ${Your memo content}

Shell 管道

Flomo-cli 如常见程序一样,支持以管道的数据重定向内容作为笔记内容,可借助 cat 等命令快速保存文件等内容:

cat memo.txt | flomo

编辑器模式

除了直接在命令行中输入,flomo-cli 也支持使用编辑器进行笔记编写和保存,只需要执行以下命令即可:

# Open vim to compose the memo.
flomo vim # Open neovim to compose the memo.
flomo nvim # Open emacs to compose the memo.
flomo emacs

目前 flomo-cli 只对 vim/neovim/emacs 进行了支持, 输入其他内容将抛出异常以避免任意执行带来的安全问题。

清理临时文件

编辑器模式的实现思路是在接收到命令时调用指定编辑器对 ~/.flomo-tmp 目录的临时文件进行编辑并一直等待。当用户退出编辑器时停止等待,接着将临时文件的内容作为笔记发送至 flomo ,最后将临时文件删除。

这样一来,如果存在并发调用或强制终止 flomo-cli 的情况,则临时文件的删除工作可能就会被中断,进而造成堆积的临时文件占用磁盘空间。对于这一问题可以执行以下命令一键清理临时文件:

flomo clear

设置 alias

为了防止只使用 flomo 单个命令带来的误输入风险,目前笔记的保存操作必须结合 save 关键字来进行。如果你希望简化输入,那么只需要在 zsh/bash 等 shell 的配置文件中新增 alias 即可,示例如下:

alias flomo="flomo save"

贡献代码

欢迎大家通过 PR 的形式来完善本工具或加入新的想法,PR 形式不限,提 PR 前做好 lint 即可。

协议

MIT

支持 Homebrew 安装和编辑器模式的 flomo 命令行工具的更多相关文章

  1. pycharm不支持svn,是需要svn命令行工具没有安装(for windows)

    1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...

  2. 如何在sublime编辑器中,执行命令行脚本

    我有个愿意,在执行命令行时,不打开那个黑乎乎命令行窗口,如果编辑器内置支持就好了. 打开vs code 和 sublime,分别按快捷键 Ctrl + ·(tab键上面那个键),vs code可以提供 ...

  3. Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  4. 【Mac】Mac OS X 安装GNU命令行工具

    macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人. 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟lin ...

  5. brew 安装指定版本命令行工具 tmux 多版本实现

    Homebrew 是 macOS 命令安装工具,其核心库里的命令行在 github homebrew-core 仓库上维护. 核心库命令大概有 5000 条左右,大部分的命令行工具只保留了最新版本的 ...

  6. Django之win7下安装与命令行工具

    Django之win7下安装与命令行工具 下载安装 pip3 install django 注意:自动添加环境变量 测试是否安装成功 1.输入python 2.输入import django 3.输入 ...

  7. Django---定义、MVC和MTV模式、命令行工具、配置文件settings

    1.什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的 ...

  8. NodeJS 安装cnpm命令行工具

    在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...

  9. 安装nodejs express框架时express命令行无效

    我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...

随机推荐

  1. GO学习-(38) Go语言结构体转map[string]interface{}的若干方法

    结构体转map[string]interface{}的若干方法 本文介绍了Go语言中将结构体转成map[string]interface{}时你需要了解的"坑",也有你需要知道的若 ...

  2. 5分钟就能学会的简单结构 | MLP-Mixer: An all-MLP Architecture for Vision | CVPR2021

    文章转自:微信公众号「机器学习炼丹术」 作者:炼丹兄(欢迎交流,共同进步) 联系方式:微信cyx645016617 论文名称:「MLP-Mixer: An all-MLP Architecture f ...

  3. TVM代码生成codegen

    TVM代码生成codegen 硬件后端提供程序(例如Intel,NVIDIA,ARM等),提供诸如cuBLAS或cuDNN之类的内核库以及许多常用的深度学习内核,或者提供框架例,如带有图形引擎的DNN ...

  4. ALD技术,相机去噪,图像传感器

    ALD技术,相机去噪,图像传感器 1. 作为镜片的防反射涂层技术被关注的ALD(atomic layer deposition)的引入趋势. (a)为什么需要一种新的防止反射的涂层技术? ALD被认为 ...

  5. NVIDIA Turing Architecture架构设计(上)

    NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领 ...

  6. halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) ...

  7. QT环境变量设置

    首先找到自己对应的目录 我的如图 还有一个路径 将这两个路径添加到系统变量的Path中

  8. 【NX二次开发】Block UI 选择小平面区域

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  9. 使用Go module和GoLand初始化一个Go项目

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 Golang是一门优秀的语言,特别是在并发编程上,得益于它的协程和channel等,非常方便易用.它通过go m ...

  10. TestNG 组测试

    方法分组测试 1. 给@Test注解后面加groups参数,如 @Test(groups = "groupa") 2. 可以添加@BeforeGroups和@AfterGroups ...