使用Emacs中的org-mode写cnblogs之图片插入

*/-->

code {color: #FF0000}
pre.src {background-color: #002b36; color: #839496;}

使用Emacs中的org-mode写cnblogs之图片插入

用Emacs的org-mode来做记录和写博客,真的是太方便了。而其中,原生的org-mode有所欠缺的是图片的插入。

1 效果

2 原生org-mode的图片插入

org-mode中插入图片或者其他的资源,是通过 C-c C-l 把图片的文件路径粘贴进行进行插入。需要在org中显示图片,首先需要Emacs支持图片的显示。这个可以下载一个支持图片的版本(主要是图片显示的lib_png之类的.dll)。

但是这种方式比较麻烦,每次都要创建一个图片,然后,把图片的文件路径粘贴进行进行插入。

3 使用org-download进行图片插入

使用package插件安装org-download,然后配置:

(use-package org-download
:bind ("C-S-y" . org-download-clipboard)
:config
(defun org-download-clipboard ()
"Save the captured image from clipboard to file, and insert into buffer. Or org-download-yank."
(interactive)
(let ((link "http://images2015.cnblogs.com/blog/717724/201703/717724-20170318145647104-177813066.jpg"))
(if (eq 0 (shell-command (format "\"c:/Program\sFiles/ImageMagick-6.9.3-Q16/convert.exe\" clipboard:myimage %s" link) "*screenshot2file*" "*screenshot2file*"))
(org-download-image link)
(org-download-yank)))))

org-download本身会自动在org文档当前目录下创建一个与文档同名的文件夹来保存图片,然后支持多种途径的图片插入,插入之后会复制或者下载一张图片到图片文件夹下面:

  • 用url把图片插入,然后自动下载;
  • 复制图片文件路径,然后插入;
  • 拖拽图片插入。

但是,org-download不会把剪切板中的图片自动保存一个图片文件,然后插入。所以,必须要借助于外部程序。可以使用任意一个带命令行参数的图片保存器将剪切板中的图片进行保存。有人写了一个csharp的程序,很小很小就可以做到了。我这里直接使用ImageMagick ,因为这个软件实在是太强大了,而且是免费的。路径我们可以根据自己的安装路径来进行配置,然后,先调用里面的convert.exe把剪切板里面的图片保存到一个临时目录下面。我这里是 d:/temp/ ,这个可以根据自己的需要来设置。然后,定义了一个快捷键 C-S-Y ,比原来的粘贴键多了一个shift,就可以粘贴图片了。

4 截图软件

剪切板中的图片可以是从另外一个地方复制来的,但更多的场景是使用截图软件进行截图,然后粘贴的。我使用的截图软件是faststone,程序很小,但是功能很强大,既可以截图也可以录视频,还可以编辑视频,对于简单的插入便条,字幕之类的处理,特别方便。还可以设置快捷键,截选择框、窗口、滚动条内窗口内容等等,非常方便。下面截个图粘贴一下做个示例:

Date: 2017-01-13 21:41

Created: 2017-03-18 周六 14:56

Emacs 26.0.50 (Org mode 8.2.10)

Validate

使用Emacs中的org-mode写cnblogs之图片插入的更多相关文章

  1. 用emacs的org2blog组件写cnblogs博客 -- 环境配置及使用

    Table of Contents 配置 使用 创建一篇博文并发布 更新一篇博文 删除一篇博文 待办 本文给出了一个安装.配置org2blog的方法,实现在emacs中书写blog文章.并发布到cnb ...

  2. 在Emacs中使用plantuml画UML图

    在Emacs中使用plantuml画UML图 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83 ...

  3. 使用org-mode写cnblogs博客

    使用org-mode写cnblogs博客 */--> pre.src {background-color: #002b36; color: #839496;} pre.src {backgrou ...

  4. Emacs中的拼写检查

    无论是在Emacs中写英文日记(diary).Org mode笔记,还是撰写程序的注释和文档,拼写检查都是一项提高工作效率.保证成果品质的必不可缺的工具.拼写检查对于常见的文字处理软件(如Word.L ...

  5. Emacs 中使用中文插件 eim

    在 Emacs 中输入中文,一般用 ibus 一类的输入法也能应付,但来回切换有点麻烦,这里介绍国人写的一个好插件 eim. - 安装 由于在 list-packages 中没有找到这个插件,所以不能 ...

  6. [转载]生活在 Emacs 中

    Brian Bilbrey2002 年 8 月 20 日发布 教程简介 本教程讲什么? Emacs 是一个流行的无模式文本编辑器,有许多强大的功能.本教程将教您使用 Emacs 的基础知识.为了让您很 ...

  7. 在Emacs中使用ECB(转载)

    转自:http://joerong666.iteye.com/blog/1813876 By:             潘云登 Date:          2009-7-9 Email:       ...

  8. Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)

    Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...

  9. JavaSE复习日记 : 继承关系和super关键字以及继承关系中方法的覆写

    /* * 类的继承和super关键字 * * 软件开发的三大目的: * 可拓展性; * 可维护性; * 可重用性; * * 这里单说下可重用性这一项: * 为了代码复用,复用方式有: * 函数的调用复 ...

随机推荐

  1. java中list的使用方法

    LIST是个容器接口,可以理解为动态数组,传统数组必须定义好数组的个数才可以使用,而容器对象无须定义好数组下标总数, 用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据 ...

  2. java socket网络编程(多线程技术)

    Client.java import java.io.*; import java.net.*; import java.util.*; public class Client { public st ...

  3. String Stringbuilder Stringbuffer的区别

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...

  4. MFC添加背景图片三种方法

    方法一: 1.声明成员变量CBrush m_brush;2.在InitDialog中添加代码: ? CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1);  //IDB_B ...

  5. MaterialDrawer的使用

    这是一个MaterialDesign风格的侧滑,在github上下载压缩包,按照github上的方式引入依赖,然后打开压缩包里面的例子程序,对照着APK看,即可知道怎么实现的(好像说了一堆废话..)

  6. JavaBean--删除操作

    删除命令:removeAttribute(Javabean名称) 前面调用用pageContext,request,session,application, 如request.removeAttrib ...

  7. laravel提示Mcrypt PHP extension required

    系统Ubuntu 安装Apache,php后发现laravel报 Mcrypt PHP extension required错误 解决办法: apt-get install php5-mcrypt c ...

  8. Ubuntu和Redhat(Debian)的差别

    这两个最大的区别在包管理模式上. 都是用的Linux核心构架的. Redhat主要集中在 企业级服务器版的制作 是推动LINUX商业化最成功的公司 Redhat对应的桌面版制作 都是由Fedora社区 ...

  9. C# 经典入门11章,比较

    1类型比较 所有的类懂从System.Object中继承了GetType()方法,这个方法和typeof()运算符一起使用,可以确定对象的类型.例如: if(myObj.GetType()==type ...

  10. css背景图片、隐藏、指针、垂直居中、去除下划线、缩进、列表类型

    <html><head lang="en"> <meta charset="UTF-8"> <title>< ...