当前位置: 首页 > news >正文

如何在terminal中使用Joplin并像vim一样移动?

如何在terminal中使用Joplin并像vim一样移动?

原文地址: https://cfanzp.com/joplin-terminal/

安装

mac 安装方法

brew install node
NPM_CONFIG_PREFIX=~/.joplin-bin npm install -g joplin
sudo ln -s ~/.joplin-bin/bin/joplin /usr/bin/joplin
[zp@localhost bin]$ sudo ln -s ~/.joplin-bin/bin/joplin /usr/bin/joplin
ln: /usr/bin/joplin: Read-only file system
sudo ln -s ~/.joplin-bin/bin/joplin /usr/local/bin/joplin

ubuntu 安装方法

#Important: First, install Node 12+.
NPM_CONFIG_PREFIX=~/.joplin-bin npm install -g joplin
sudo ln -s ~/.joplin-bin/bin/joplin /usr/bin/joplin

我安装的时候nodejs版本是:v10.19.0,建议按官方要求使用Node 12+

进入

joplin

配置文件同步

同步方式建议用文件同步,尝试了用坚果云的WebDav同步效果不是很好,手机可以采用WebDav,电脑还是用文件同步更稳定些。

:config sync.target 2
:config sync.2.path /home/cfanzp/jgy/joplin

配置将会被保存在下面文件中

~/.config/joplin/settings.json

快捷键配置

~/.config/joplin/keymap.json

快捷键配置demo keymap.json

[
  { "keys": [":"], "type": "function", "command": "enter_command_line_mode" },
  { "keys": ["TAB"], "type": "function", "command": "focus_next" },
  { "keys": ["SHIFT_TAB"], "type": "function", "command": "focus_previous" },
  { "keys": ["UP"], "type": "function", "command": "move_up" },
  { "keys": ["DOWN"], "type": "function", "command": "move_down" },
  { "keys": ["PAGE_UP"], "type": "function", "command": "page_up" },
  { "keys": ["PAGE_DOWN"], "type": "function", "command": "page_down" },
  { "keys": ["ENTER"], "type": "function", "command": "activate" },
  { "keys": ["DELETE", "BACKSPACE"], "type": "function", "command": "delete" },
  { "keys": [" "], "command": "todo toggle $n" },
  { "keys": ["n"], "type": "function", "command": "next_link" },
  { "keys": ["b"], "type": "function", "command": "previous_link" },
  { "keys": ["o"], "type": "function", "command": "open_link" },
  { "keys": ["tc"], "type": "function", "command": "toggle_console" },
  { "keys": ["tm"], "type": "function", "command": "toggle_metadata" },
  { "keys": ["/"], "type": "prompt", "command": "search \"\"", "cursorPosition": -2 },
  { "keys": ["mn"], "type": "prompt", "command": "mknote \"\"", "cursorPosition": -2 },
  { "keys": ["mt"], "type": "prompt", "command": "mktodo \"\"", "cursorPosition": -2 },
  { "keys": ["mb"], "type": "prompt", "command": "mkbook \"\"", "cursorPosition": -2 },
  { "keys": ["yn"], "type": "prompt", "command": "cp $n \"\"", "cursorPosition": -2 },
  { "keys": ["dn"], "type": "prompt", "command": "mv $n \"\"", "cursorPosition": -2 }
]

vim快捷键配置demo keymap.json

[
  { "keys": [":"], "type": "function", "command": "enter_command_line_mode" },
  { "keys": ["TAB","l"], "type": "function", "command": "focus_next" },
  { "keys": ["SHIFT_TAB","h"], "type": "function", "command": "focus_previous" },
  { "keys": ["UP","k"], "type": "function", "command": "move_up" },
  { "keys": ["DOWN","j"], "type": "function", "command": "move_down" },
  { "keys": ["PAGE_UP","{"], "type": "function", "command": "page_up" },
  { "keys": ["PAGE_DOWN","}"], "type": "function", "command": "page_down" },
  { "keys": ["ENTER"], "type": "function", "command": "activate" },
  { "keys": ["DELETE", "BACKSPACE"], "type": "function", "command": "delete" },
  { "keys": [" "], "command": "todo toggle $n" },
  { "keys": ["tc"], "type": "function", "command": "toggle_console" },
  { "keys": ["tm"], "type": "function", "command": "toggle_metadata" },
  { "keys": ["/"], "type": "prompt", "command": "search \"\"", "cursorPosition": -2 },
  { "keys": ["mn"], "type": "prompt", "command": "mknote \"\"", "cursorPosition": -2 },
  { "keys": ["mt"], "type": "prompt", "command": "mktodo \"\"", "cursorPosition": -2 },
  { "keys": ["mb"], "type": "prompt", "command": "mkbook \"\"", "cursorPosition": -2 },
  { "keys": ["yn"], "type": "prompt", "command": "cp $n \"\"", "cursorPosition": -2 },
  { "keys": ["dn"], "type": "prompt", "command": "mv $n \"\"", "cursorPosition": -2 }
]

vim快捷键添加e进入Vim编辑

{ "keys": ["ENTER","e"], "type": "function", "command": "activate" },

vim快捷键添加q退出

 { "keys": ["dn"], "type": "prompt", "command": "exit", "cursorPosition": -1 }

主要快捷键

keynotecmd
hjkl移动-
(SPACE)完成todo项目:todo toggle $n
/搜索:search
mnmake note 创建笔记:mknote
mtmake todo 创建待办:mktodo
mbmake book 创建笔记本:mkbook
yncp当前项目cp $n
dn删除当前项目:mv $n
q退出:exit

配置默认编辑器为Vim

在命令行中执行:

joplin config editor "/usr/bin/vim"

或在jopliin内部命令行模式

:config editor "/usr/bin/vim"

参考

  • https://joplinapp.org/terminal
  • https://zhuanlan.zhihu.com/p/107334649

相关文章:

  • 下一个排列问题next_permutation
  • SSM传染病监测防控管理系统毕业设计-附源码061525
  • 开题报告:基于java房产中介预约看房网站系统 毕业设计论文开题报告模板
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • 【小程序】中的事件处理详解
  • SSM大学生心理健康服务平台毕业设计-附源码071131
  • springboot绿色食品商城毕业设计-附源码061109
  • 猿创征文|技术成长之路-【Java编程系列】之文件OSS存储实践:Amazon S3实现文件上传下载
  • Docker10:DockerFile的介绍与指令说明
  • Java求数组所有子数组的两种方法
  • j2cache入门使用
  • dockerkubernets篇(二十七)
  • 操作系统--用JavaScript实现银行家算法
  • js严格模式
  • MySQL数据库——使用聚合函数查询
  • [译] React v16.8: 含有Hooks的版本
  • 【技术性】Search知识
  • Angular Elements 及其运作原理
  • CSS中外联样式表代表的含义
  • Docker: 容器互访的三种方式
  • Sass 快速入门教程
  • Vim 折腾记
  • Vue组件定义
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 对JS继承的一点思考
  • 高性能JavaScript阅读简记(三)
  • 如何设计一个微型分布式架构?
  • 软件开发学习的5大技巧,你知道吗?
  • 设计模式走一遍---观察者模式
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 在weex里面使用chart图表
  • HanLP分词命名实体提取详解
  • ​【已解决】npm install​卡主不动的情况
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​卜东波研究员:高观点下的少儿计算思维
  • #QT项目实战(天气预报)
  • (0)Nginx 功能特性
  • (2015)JS ES6 必知的十个 特性
  • (poj1.2.1)1970(筛选法模拟)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (三) diretfbrc详解
  • (已解决)什么是vue导航守卫
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (轉貼) UML中文FAQ (OO) (UML)
  • .Family_物联网
  • .NET 4.0中的泛型协变和反变
  • .Net 6.0 处理跨域的方式
  • .NET Core Web APi类库如何内嵌运行?
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 版本不支持的问题
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 表达式计算:Expression Evaluator