• Emacs阅读chm文档


    Emacs阅读chm文档

    Emacs阅读chm文档

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

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

    地址: mk:@MSITStore:C:Tcl8.6docActiveTclHelp8.6.chm::/tdom/dom.html

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

    hh mk:@MSITStore:C:Tcl8.6docActiveTclHelp8.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: 
      SKeyword: ")
        (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

  • 相关阅读:
    IOI 1996 网络协议
    lougu P2344奶牛抗议
    Poj3764 The XOR-longest Path
    A Simple Problem with Integers (线段树)
    NOIP2011 选择客栈
    20181029 T3 乐谱分段
    20181029 T2 寻宝游戏
    20181029 T1 教科书般的亵渎
    NOIP2011聪明的质监员
    浅谈AC自动机
  • 原文地址:https://www.cnblogs.com/yangwen0228/p/6286352.html
Copyright © 2020-2023  润新知