支持 Homebrew 安装和编辑器模式的 flomo 命令行工具
什么是 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 即可。
协议
支持 Homebrew 安装和编辑器模式的 flomo 命令行工具的更多相关文章
- pycharm不支持svn,是需要svn命令行工具没有安装(for windows)
1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...
- 如何在sublime编辑器中,执行命令行脚本
我有个愿意,在执行命令行时,不打开那个黑乎乎命令行窗口,如果编辑器内置支持就好了. 打开vs code 和 sublime,分别按快捷键 Ctrl + ·(tab键上面那个键),vs code可以提供 ...
- Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- 【Mac】Mac OS X 安装GNU命令行工具
macos的很多用户都是做it相关的人,类unix系统带来了很多方面,尤其是经常和linux打交道的人. 但是作为经常使用linux 命令行的人发现macos中的命令行工具很多都是bsd工具,跟lin ...
- brew 安装指定版本命令行工具 tmux 多版本实现
Homebrew 是 macOS 命令安装工具,其核心库里的命令行在 github homebrew-core 仓库上维护. 核心库命令大概有 5000 条左右,大部分的命令行工具只保留了最新版本的 ...
- Django之win7下安装与命令行工具
Django之win7下安装与命令行工具 下载安装 pip3 install django 注意:自动添加环境变量 测试是否安装成功 1.输入python 2.输入import django 3.输入 ...
- Django---定义、MVC和MTV模式、命令行工具、配置文件settings
1.什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的 ...
- NodeJS 安装cnpm命令行工具
在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...
- 安装nodejs express框架时express命令行无效
我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...
随机推荐
- GO语言面向对象01---封装属性与创建对象的方法与工厂模式
package main import "fmt" /* 面向过程编程:调度大量的变量.函数 ---------- 面向对象编程(OOP=Object Oriented Progr ...
- MySQL 基础、安装、配置
1. MySQL 基础 1.1 什么是数据库? 1.2 数据库的类型 1.3 关系型数据库的优点 1.4 MySQL 简介 1.5 MySQL 数据类型 1.6 Mysql 存储引擎 1.7 MySQ ...
- PyTorch 进行 Neural-Transfer
PyTorch 进行 Neural-Transfer 1.简介 本文讲解如何实现由 Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的Neural- ...
- CUDA运行时 Runtime(四)
CUDA运行时 Runtime(四) 一. 图 图为CUDA中的工作提交提供了一种新的模型.图是一系列操作,如内核启动,由依赖项连接,依赖项与执行分开定义.这允许定义一次图形,然后重复启动.将 ...
- Nucleus 实时操作系统中断(下)
Nucleus 实时操作系统中断(下) Nucleus RTOS兼容性 由于中断在Nucleus SE中的实现方式与Nucleus rto截然不同,因此不应期望有特定的兼容性.Nucleus RTOS ...
- 孟老板 ListAdapter封装, 告别Adapter代码 (上)
BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...
- 已经安装好了tensorboardX,任然报错 No module named ‘tensorboardX‘ ??
问题: 1.在jupyter notebook网页版中已经使用命令pip install tensorboardX来安装tensorboardX包,但是运行程序时仍旧出现错误:No module na ...
- CSS3-过渡、动画、2D与3D
过渡 过渡属性transition,可适用于大部分属性间变化的过渡,例如长度的.宽度和透明度等等. 语法: transition: property duration timing-function ...
- Docker开启安全的TLS远程连接
目录 1.1 不安全的远程访问方式 1.1.1 编辑docker.service文件: 1.1.2 重新加载Docker配置生效 1.1.3 警告! 2.1 建立基于TLS数字签名的安全连接 1.1 ...
- DBA入门相关知识介绍
DBA(database administrator):数据库管理员 DBMS(database management system):数据库管理系 ...