emacs-w3m查看html帮助手册

<?xml version="1.0" encoding="utf-8"?> emacs-w3m查看html帮助手册

emacs-w3m查看html帮助手册

Table of Contents

  • 1. 使用效果
  • 2. 为什么要用emacs-w3m来查看html的帮助手册?
  • 3. 什么是w3m?
  • 4. 配置
  • 5. 额外资源

1 使用效果

使用快捷键C-c C-j之后,打开如图所示的输入界面,可以用 正则表达式 搜索想要的API,查找非常方便:

screenshot_2016-12-31_10-43-19.png

用emacs-w3m打开html文件的效果如图:

screenshot_2016-12-31_10-44-05.png

2 为什么要用emacs-w3m来查看html的帮助手册?

  • 每次打开firefox,要等待较长时间,只为查看一个API的用法,感觉不爽。
  • 直接用emacs将html文件当作文本文件打开,一堆的tags不方便看。
  • 用浏览器搜索命令不够方便,不如emacs的正则表达式来的带劲。
  • 就是喜欢在emacs中做所有的事,这一条就够了。

3 什么是w3m?

http://blog.csdn.net/superwengo/article/details/8241601

4 配置

;;; init-emacs-w3m.el --- Summary
;;; Commentary:
;; comments;;; Code:
(use-package w3m:commands (w3m):config;; (require 'w3m-load)(setq w3m-coding-system 'utf-8w3m-file-coding-system 'utf-8w3m-file-name-coding-system 'utf-8w3m-input-coding-system 'utf-8w3m-output-coding-system 'utf-8w3m-terminal-coding-system 'utf-8)(setq w3m-use-cookies t)(setq w3m-cookie-accept-bad-cookies t)(setq w3m-home-page(if (file-readable-p (expand-file-name "html/home.html" unimacs-tempfiles-dir))(concat "file://" (expand-file-name "html/home.html" unimacs-tempfiles-dir))"http://www.baidu.com"));; set proxy(defun toggle-env-http-proxy ()"set/unset the environment variable http_proxy which w3m uses"(interactive)(let ((proxy "http://proxynj.huawei.com:8080"))(if (string= (getenv "http_proxy") proxy);; clear the the proxy(progn(setenv "http_proxy" "")(message "env http_proxy is empty now"));; set the proxy(progn(setenv "http_proxy" proxy)(message "env http_proxy is %s now" proxy)))))(setq w3m-use-toolbar tw3m-key-binding 'info);; show images in the browser;; (setq w3m-default-display-inline-images t);; (setq w3m-default-toggle-inline-images t)(setq w3m-view-this-url-new-session-in-background t);;显示图标(setq w3m-show-graphic-icons-in-header-line t)(setq w3m-show-graphic-icons-in-mode-line t)(setq w3m-search-default-engine "b")(eval-after-load "w3m-search"'(progn;; C-u S g RET <search term> RET(add-to-list 'w3m-search-engine-alist '("b" "http://www.baidu.com/search?hl=en&q=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("g" "http://www.google.com.au/search?hl=en&q=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("wz" "http://zh.wikipedia.org/wiki/Special:Search?search=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("q" "http://www.google.com.au/search?hl=en&q=%s+site:stackoverflow.com" utf-8))(add-to-list 'w3m-search-engine-alist '("s" "http://code.ohloh.net/search?s=%s&browser=Default"  utf-8))(add-to-list 'w3m-search-engine-alist '("bl" "http://blogsearch.google.com.au/blogsearch?q=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("w" "http://en.wikipedia.org/wiki/Special:Search?search=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("d" "http://dictionary.reference.com/search?q=%s" utf-8))(add-to-list 'w3m-search-engine-alist '("j" "http://www.google.com.au/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&btnI=1&q=%s+site:developer.mozilla.org" utf-8))))(setq w3m-command-arguments       '("-F" "-cookie")w3m-mailto-url-function     'compose-mailbrowse-url-browser-function 'w3mmm-text-html-renderer       'w3m);; bind this function to ‘a’, which is the normal w3m bookmark binding:(eval-after-load "w3m" '(progn(w3m-lnum-mode 1)));; external browser(setq browse-url-generic-program(cond(*is-a-mac* "open")(*linux* (executable-find "firefox"))))(setq browse-url-browser-function 'browse-url-generic);; use external browser to search programming stuff(defun w3mext-hacker-search ()"search word under cursor in google code search and stackoverflow.com"(interactive)(require 'w3m)(let ((keyword (w3m-url-encode-string (thing-at-point 'symbol))));; google(browse-url-generic(concat "http://www.google.com.au/search?hl=en&q=%22"keyword"%22"(if buffer-file-name(concat "+filetype%3A" (file-name-extension buffer-file-name))"")  ))(browse-url-generic(concat "http://www.google.com.au/search?hl=en&q="keyword"+site:stackoverflow.com" ));; koders.com(browse-url-generic(concat "http://code.ohloh.net/search?s=\""keyword"\"&browser=Default&mp=1&ml=1&me=1&md=1&filterChecked=true" ))))(defun w3mext-open-link-or-image-or-url ()"Opens the current link or image or current page's uri or any url-like text under cursor in firefox."(interactive)(let (url)(if (or (string= major-mode "w3m-mode") (string= major-mode "gnus-article-mode"))(setq url (or (w3m-anchor) (w3m-image) w3m-current-url)))(browse-url-generic (if url url (car (browse-url-interactive-arg "URL: "))))))(global-set-key (kbd "C-c b") 'w3mext-open-link-or-image-or-url)(defun w3mext-search-js-api-mdn ()"search current symbol under cursor in Mozilla Developer Network (MDN)"(interactive)(let ((keyword (thing-at-point 'symbol)))(w3m-search "j" keyword)))(add-hook 'prog-mode-hook '( lambda () (local-set-key (kbd "C-c ; h") 'w3mext-hacker-search)));; Find in blog.;; @see: http://blog.csdn.net/superwen_go/article/details/8241601(add-hook 'w3m-fontify-after-hook 'remove-w3m-output-garbages)(defun remove-w3m-output-garbages ()"去掉w3m输出的垃圾."(interactive)(let ((buffer-read-only))(setf (point) (point-min))(while (re-search-forward "[\200-\240]" nil t)(replace-match " "))(set-buffer-multibyte t))(set-buffer-modified-p nil)))(provide 'init-emacs-w3m)
;;; init-emacs-w3m.el ends here

5 额外资源

如果找不到w3m的执行程序,可以在我的github上面下载,这个是最新版的:
https://github.com/yangwen0228/unimacs/tree/master/utils/extra-bins/msys64

也可以下载我的配置,或者使用其中的部分配置,配置文件放置在 personal/configures中。

Date: 2016-12-31 10:38

Created: 2017-03-11 周六 21:53

Emacs 26.0.50.4 (Org mode 8.2.10)

Validate

转载于:https://www.cnblogs.com/yangwen0228/p/4269923.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工作中的问题

今天写一专题页面&#xff0c;写出的结果在各个浏览器下都不同&#xff0c;心情不好。。。 就是红线的地方老对不齐。。。 在朋友指导下改了下样式好了 右边代码结构 1 <div class"fr Img"> 2 <h3>相关专题</h3> 3 <a href"#"…

数据结构行编辑成簇 c语言,索引的数据结构及底层存储

索引是帮助数据库高效获取数据的数据结构索引的数据结构1.hash表a.利用hash存储的话需要将所有的数据文件添加到内存&#xff0c;比较耗费内存空间b.hash表存储的是无序数据&#xff0c;范围查找的时候需要挨个进行遍历&#xff0c;比较耗费时间。2.二叉树二叉树规定左子树必须…

The C Programming Language--可变参数的函数

函数 printf的正确声明形式为&#xff1a;int printf(char *fmt, ...) void va_start (va list ap, last-required) type va_arg (va list ap, type) void va_end (va list ap) 其中&#xff0c;省略号表示参数表中参数的数量和类型是可变的。 va_list 类型用于声明一个变量&am…

cifar10 c语言,Python3读取深度学习CIFAR-10数据集出现的若干问题解决

今天在看网上的视频学习深度学习的时候&#xff0c;用到了CIFAR-10数据集。当我兴高采烈的运行代码时&#xff0c;却发现了一些错误&#xff1a;# -*- coding: utf-8 -*-import pickle as pimport numpy as np import os def load_CIFAR_batch(filename): """ 载…

各种排序算法总结

转载&#xff1a;http://blog.csdn.net/warringah1/article/details/8951220 明天就要去参加阿里巴巴的实习生笔试了&#xff0c;虽然没想着能进去&#xff0c;但是态度还是要端正的&#xff0c;也没什么可以准备的&#xff0c;复习复习排序吧。 1 插入排序 void InsertSort(in…

CentOS7 上安装 Zookeeper-3.4.9 服务

在 CentOS7 上安装 zookeeper-3.4.9 服务1、创建 /usr/local/services/zookeeper 文件夹&#xff1a; mkdir -p /usr/local/services/zookeeper 2、进入到 /usr/local/services/zookeeper 目录中&#xff1a; cd /usr/local/services/zookeeper 3、下载 zookeeper-3.4.9.…

HTTP响应报文与工作原理详解

HTTP 是一种请求/响应式的协议&#xff0c;即一个客户端与服务器建立连接后&#xff0c;向服务器发送一个请求;服务器接到请求后&#xff0c;给予相应的响应信息。 超文本传输协议(Hypertext Transfer Protocol&#xff0c;简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议…

android自定义画板,android 自定义控件 -- 画板

如图&#xff1a;package com.example.myview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.Paint.Style;import android.util.Attrib…

postgreSQl pathman 用法语句总结

2019独角兽企业重金招聘Python工程师标准>>> --新建主表 create table part_test(id int, info text, crt_time timestamp not null); --插入测试数据 insert into part_test select id,md5(random()::text),clock_timestamp() (id|| hour)::interval from generat…

C#-面向对象的多态思想 ---ShinePans

总结: 多态是面向对象的核心.---------能够理解为一个方法,多种实现, 在这里能够用虚方法,抽象类,接口能够实现多态 1.首先利用接口来实现多态: 接口相当于"功能,"接口能够实现多继承,分为 显式实现接口和隐式实现接口 keyword为interface格式: interface 接口名 { …

android jar导出,Android项目导出jar包的小技巧

我们知道&#xff0c;可以通过如下设置将一个普通的Android工程转换成Android Library工程设置前后工程变化如下使用Ant编译时(通过android.bat update project 命令生成 build.xml)&#xff0c;普通的Android工程会生成apk文件&#xff0c;而Android Library工程只生成jar文件…

(五十九)iOS网络基础之UIWebView简易浏览器实现

【UIWebView网络浏览器】 通过webView的loadRequest方法可以发送请求显示相应的网站&#xff0c;例如&#xff1a; NSURL *url [NSURL URLWithString:"http://m.baidu.com"];// 创建请求数据NSURLRequest *request [NSURLRequest requestWithURL:url];// 向服务器发…

无心插柳OR志在必得?阿里推“来往”的意图

近年来&#xff0c;阿里巴巴在外围的动作确实不少&#xff0c;投资新浪微博、投资陌陌&#xff0c;配合阿里自身的一些战略调整&#xff0c;让人觉得这家公司似乎正在经历一场前所未有的“蜕变”。其实这也不难理解&#xff0c;在BAT三国演义中&#xff0c;任何一方都不能对其他…

wampserver的mysql启动与环境变量设置

安装好wampserver以后&#xff0c;mysql服务默认已经启动了。但是直接在命令行里输入"mysql"&#xff0c;系统会提示说 mysql 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 这是因为没有增加“mysql”环境变量,请跳到第3步阅读。 如果之前已经安…

华为mate30怎么申请鸿蒙内测,华为新系统启动内测,mate30系列尝鲜,网友:羡慕...

原标题&#xff1a;华为新系统启动内测&#xff0c;mate30系列尝鲜&#xff0c;网友&#xff1a;羡慕一款手机是否好用&#xff0c;其实取决于两个方面&#xff0c;一个是硬件&#xff0c;另一个则是软件&#xff0c;大家在购机的时候往往最关注的就是硬件配置&#xff0c;因为…

VMware 11完全安装Mac OS X 10.10

----------------------------------------- 引用原文如下&#xff1a; VMware 11安装Mac OS X 10.10_百度经验 http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html VM11安装Mac OS X 10.10 工具/原料 1.VMware Workstation 11 2.unlocker 203&#xff08;for OS…

用C语言写解释器(一)——我们的目标

声明为提高教学质量&#xff0c;我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生&#xff08;不要求有数据结构等其它知识&#xff09;&#xff0c;所以行文比較罗嗦&…

1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例)

前言 在上一篇0_MVCEFAutofac(dbfirst)轻型项目框架_基本框架中&#xff0c;我已经介绍了这个轻型框架的层次结构&#xff0c;在下面的这篇文章中&#xff0c;我将以教师登陆功能为例&#xff0c;具体来扩充下我的core层的代码。 在这之前&#xff0c;我想先补充讨论下是否有必…

Python实现atm机的功能

主要还是参考网上内容&#xff0c;自己做了修改。虽然代码有小bug&#xff0c;但是不影响学习和测试。功能&#xff1a;1.额度&#xff1a;80002.可以提现&#xff0c;手续费5%3.每月最后一天出账单&#xff0c;写入文件4.记录每月日常消费流水5.提供还款接口1.atm的脚本[rootp…

使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

前言 本章将实现非常实用的功能——下载在线视频。涉及到多线程、线程更新UI等技术&#xff0c;还需思考产品的设计&#xff0c;如何将新加的功能更好的融入到现有的产品中&#xff0c;并不是简单的加一个界面就行了&#xff0c;欢迎大家交流产品设计和技术细节实现&#xff01…