Emacs阅读chm文档

*/-->

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

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

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

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

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

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

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

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

Emacs阅读chm文档

在Emacs中查看html的文档,可以通过我这篇w3m查看html文档 文章来进行。但是chm文档是一种html文档的编译版本,在Emacs中无法打开。

那么,要想在Emacs中查看chm,首先要了解chm文档到底是怎样的。
我们打开一个tcl的chm文档,点击任意一个页面,右键查看“属性”,可以看到其中有一项:

地址: mk:@MSITStore:C:\Tcl8.6\doc\ActiveTclHelp8.6.chm::/tdom/dom.html

这个地址可以用系统自带的hh.exe来打开:

hh mk:@MSITStore:C:\Tcl8.6\doc\ActiveTclHelp8.6.chm::/tdom/dom.html

但是,这个不是标准的url,也无法用浏览器打开。另外,我们也不知道要打开的是哪一个html页面。

为了解决这个问题,我们这里有几种方式:

  • 使用keyhh.exe来打开:

    KeyHH -MyHelp -#klink "ActiveX Control Wizard" htmlhelp.chm

    这就是用一个更加高级一点的hh.exe程序来打开chm文档,只要Id配置相同,就只会打开一个chm文档。
    keyhh.exe已经停止更新了,官方网站已经关闭了,从这里还可以下载:

    http://api.256file.com/download/66010_keyhh.exe

    但是,里面好像有个bug,就是当第一次搜索的时候,如果需要选择的时候,就会卡死了。把默认的选项"-#klink" 改为 "-#alink" 之后就可以了。

    (defun chm-help--lookup-chm (file-path keyword)
    "Open a window showing the documentation for the word under the point"
    (interactive "fChm File: \nSKeyword: ")
    (start-process "keyhh" nil "keyhh.exe"
    (concat "-" mode-name) ;; use mode name as ID
    "-#alink" (format "'%s'" keyword)
    file-path)) (chm-help--lookup-chm "c:/tcl/doc/ActiveTclHelp8.5.chm" "dom")
  • 使用archmage + chmview
    这个只能在linux上使用,archmage没有windows版本。
  • 先反编译
    先用自带的hh.exe命令反编译成html文件,然后,用w3m查看。

    hh -decompile X:\A Y:\B.chm

Date: 2017-01-14 17:11

Created: 2017-01-14 周六 23:13

Validate

Emacs阅读chm文档的更多相关文章

  1. 作为一个程序猿,是不是经常会用到.chm文档,但是我们可能会遇到这样那样的问题,比如.chm文档打不开

    .chm文档不能正常打开,一般有两种情形下会造成文档打不开, 1.系统语言栏的语言和文档的语言类别不一同,也就是说比如你的文档是中文版的,但是系统设置的语言是其他国家的.不过一般这种情况很少出现 ,谁 ...

  2. 在Firefox中发现一个在Linux下查看chm文档的插件

    在Firefox浏览器插件中搜索插件chmfox插件,安装后就可以在linux下通过Firefox浏览器阅读chm文档了.

  3. 制作Aspose CHM文档的过程记录

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  4. 生成chm文档工具- Sandcastle -摘自网络

    Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具.它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm ...

  5. 阅读MDN文档之CSS选择器介绍(一)

    本文为阅读MDN文档笔记 目录 Different types of Selectors Attribute Selectors Presence and value attribute select ...

  6. QuickChm 制作chm文档 chm文档脚本错误,乱码

    最近学习bootstrap,到网上找了一些chm格式的文档,发现有些老旧,于是决定自己制作一个 用过以下这些chm制造器,包括easychm,chm精灵,chmeditor,chmfactory等等, ...

  7. 最简单,最实用的数据库CHM文档生成工具——DBCHM

    DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理. DBCHM有以下几个功能 表,列的批注可以编辑保存到数据库. 表,列的批注支持通过pdm文 ...

  8. 如何生成项目的chm文档

    如何生成项目的chm文档 2014-11-30 Generate .chm based documentation of your project using SandCastle  tool

  9. IDEA生成doc文档-生成chm文档

    首先,打开IDEA,并找到Tools -> Generate JavaDoc- 可供查询的chm比那些HTML页面好看多了. 如果您用过JDK API的chm文档,那么您一定不会拒绝接受其它第三 ...

随机推荐

  1. selenium+python在Windows的环境搭建

    1 python下载安装 python早已安装,不再多说.因为开发使用的python2.7,所以同样使用2.7 2 打开Powershell, 输入python -m pip install sele ...

  2. linux下卸载和安装mysql数据库的方法

    1.1  MySQL下载 下载地址:http://www.mysql.com/downloads/mysql/5.5.html#downloads 版本:5.1.68 平台:linux general ...

  3. vue router 只需要这么几步

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

  4. 教务处sso设计缺陷

    前言 刚学习python,觉得比较枯燥总不知道从哪里入手,偶然一次,同学让我帮忙看看选课,发给我的是学校统一的默认格式的密码,突然就想试试有多少人还是默认密码,从QQ群里找了一份学生信息尝试了一下,发 ...

  5. phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。

     phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接.您应该检查配置文件中的主机.用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致. 错误产生原因: 修改了 ...

  6. ajax成功案例

    $.ajax({ type:"post", url:"<%=basePath%>getAllVersion", dataType:"jso ...

  7. 用makecert.exe生成一个自签名的证书

    makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Visua ...

  8. WCF、Web API、WCF REST、Web Service的区别

    Difference between WCF and Web API and WCF REST and Web Service   The .Net framework has a number of ...

  9. PHP中使用CURL(三)

    对 post 提交的数据进行 http_build_query处理,然后再send出去,能实现更好的兼容性,更小的请求数据包. <?php /** * PHP发送Post数据 * @param ...

  10. .Net Core Identity外面使用Cookie中间件

    1.在 app.UseMvc 前面加上app.UseCookieAuthentication app.UseCookieAuthentication(new CookieAuthenticationO ...