什么是 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. libevent中的bufferevent原理

    以前的文章看过缓冲区buffer了,libevent用bufferevent来负责管理缓冲区与buffer读写事件.       今天就带大家看下evbuffer.c,使用bufferevent处理事 ...

  2. Go语言网络通信---string与int互转,int64与[]byte互转,int直接互转,string与[]byte互转

    string与int互转 #string到int int,err:=strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt( ...

  3. LR: GLU-Net: Global-Local Universal Network for Dense Flow and Correspondences

    Abstract 在图像中简历稠密匹配是很重要的任务, 包括 几何匹配,光流,语义匹配. 但是这些应用有很大的挑战: 大的平移, 像素精度, 外观变化: 当前是用特定的网络架构来解决一个单一问题. 我 ...

  4. 用Microsoft DirectX光线跟踪改善渲染质量

    用Microsoft DirectX光线跟踪改善渲染质量 Implementing Stochastic Levels of Detail with Microsoft DirectX Raytrac ...

  5. Xilinx Zynq FPGA Boards板

    Xilinx Zynq FPGA Boards板 Xilinx Zynq FPGA Boards 介绍 Styx是一个易于使用的Zynq开发模块,具有Xilinx的Zynq ZC7020 SoC和FT ...

  6. 5, java数据结构和算法: 栈 , 入栈, 出栈, 正序遍历,,逆序遍历

    直接上代码: class ArrayStack{ //用数组模拟栈 int maxSize; int[] stack; int top = -1;//表示栈顶 public ArrayStack(in ...

  7. SpringCloud Alibaba实战(5:子模块基本业务开发)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节里,我们搭建了一个微服务项目的整体架构,并进行了版本控制. 接下来我们进一步 ...

  8. 摆脱鼠标之Dos学习

    2015/12/24 for循环 1,创建文件 http://blog.csdn.net/wangxingbao4227/article/details/17009447 关于for循环的总结,很详细 ...

  9. Redis的过期键删除策略

    文章首发于公众号:蘑菇睡不着,欢迎来看看 前言 Redis 中都是键值对的存储形式,键都是字符串类型的,而值有很多种类型,如 string.list.hash.set.sorted set等类型.当设 ...

  10. Spring Cloud Gateway简单入门,强大的微服务网关

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...