[url]http://www.cublog.cn/u/17248/showart_189571.html[/url]
标题: .emacs配置文件浅谈
.emacs 指的是emacs的配置文件。在UNIX下为“.emacs”。它在用户的HOME目录下。
你可以自己写一个全新的.emacs。但一般都是从别人那(或网上)复制一个过来,再根据自己的需要修改。

Windows下Emacs配置文件路径设置:
这玩艺一定要记下来了, 找了好几次了!

regedit:

[HKEY_CURRENT_USER\Software\GNU\Emacs]"HOME"="自己的路径"

就是酱紫了, 下回就不用来回的搜了!

在Windows下,Emacs一般不会自动建立配置文件。因此,在Windows下,Emacs的默认配置文件目录可以在Emacs中通过C-x C-f后键入~,这时你所看到的目录就是Emacs配置文件默认的目录。你可将你的配置文件(.emacs或_emacs,推荐是_emacs,因为在windows下.emacs是无法建立的)拷贝到这个目录下。在Emacs中文网上有几个网友写的配置文件,你可以参考参考。

hvj的讨论和推广emacs贴0:

算是抛砖引玉吧,我把自己的emacs经历和配置文件贴上来,并稍作一些讲解,提出一些疑问,和兄弟姐妹们讨论和推广一下这个好东东。

这贴先给一些链接吧。
http://www.gnus.org/software/emacs GNU emacs的官方网站。
http://www.emacswiki.org Emacs用户大本营,有很多非常好的资料
http://learn.tsinghua.edu.cn/homepag...450/emacs.html 我学emacs的初始地,在这里表示对网站作者王垠的感激。
http://learn.tsinghua.edu.cn/homepag...cs24/index.htm 我学emacs的主要教程,sir里好像有人要翻译,不知道翻译完没。
http://www.dotemacs.de/ emacs配置文件的集中营,不过感觉梢旧了些。
http://zhdotemacs.sourceforge.net/emacs/ Emacs 中文化指南,有很多适合咱们中国人使用的技巧。

注:
1,配置文件是在我的配置文件基础上加上比较详细的注解,注解之前都用;;注释掉了,也就是说可以拷过去直接用
2,由于我的每个配置文件开头都有time stamp(在第2帖中有讲解),在第一贴贴了这个时间戳,后面就不贴了。
3,我所用的elisp包在王垠的网站或emacswiki.org里应该能找到,实在不行,我们还有google。
4,为了保存已有缩进,一些代码引用使用php源码引用,语法显示有问题,请大家不要误会。
5,欢迎大家指正错误,讨论修改,一起提高Emacs应用水准。

hvj的讨论和推广emacs贴1:

首先贴一下我得初始文件~/.emacs
引用:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Hans Ve Joanphan's dotemacs file
;;; Last modified time
;;; Time-stamp: <hans 05/18/2004 12:01:12>
;;; Life is a box of chocalates,
;;; you never know what you're gonna get.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;以上是我得time stamp,在后面将有详细讲解
;;设置你的全名和邮件,在发邮件时可以用到
(setq user-full-name "Hans Joanphan")
(setq user-mail-address "joanphan@citiz.com")
;;设置你的书签文件,默认是~/.emacs.bmk,我喜欢把有关emacs的文件尽量放在一个文件夹,所以就修改了。
(setq bookmark-default-file "~/.emacs.d/.emacs.bmk")
;;设置缩略词的文件?不大记得了
(setq abbrev-file-name "~/.emacs.d/.abbrev_defs")
;;load-path就同bash中的$PATH相似,emacs所需要的Elisp包都得在load-path里的文件夹中,~/.emacs.d/elisp是我自己添加的Elisp包
(setq load-path (cons "~/.emacs.d/elisp" load-path))
;;设置info的路径,也可通过Shell的全局变量$INFOPATH设置
(add-to-list 'Info-default-directory-list "~/local/info/")
;;由菜单修改配置的东西将会保存在custom-file里,这里我设置他在我的elisp的集中营里
(setq custom-file "~/.emacs.d/elisp/hvj-custom.el")
;;设置gnus启动的文件。默认是为~/.gnus.el
(setq gnus-init-file "~/.emacs.d/elisp/hvj-gnus.el")
;;由于我的配置文件很长,所以按照分类分别放在不同的文件里,方便管理
(load "hvj-basic-config")
(load "hvj-language")
(load "hvj-calendar")
(load "hvj-folding")
(load "hvj-ido")
(load "hvj-dictionary")
(load "hvj-function")
(load "hvj-mew")
(load "hvj-w3m")
(load "hvj-erc.el")
(load "hvj-dired")
(load "hvj-mode")
(load "hvj-wiki")
(load "hvj-other-elisp")
(load "hvj-key-bindings")

;;这个东西必须放在最后
;;desktop.el是一个可以保存你上次emacs关闭时的状态,下一次启动时恢复为上次关闭的状态。就和vmware的suspend一样。
;;因为我要使用sawfish-mode,wiki-mode,html-helper-mode,放在这里才能保证下次启动时能正确辨认文件需要的模式。
(load "desktop")
(desktop-load-default)
(desktop-read)

注:为安全起因,我修改了我的email地址。我的准确email地址在签名中有

hvj的讨论和推广emacs贴2:

这次贴一下我hvj-basic-config.el的一部分,这里主要讲了颜色的设置,外观设置,备份设置、自动补全设置、time stamp设置以及时间显示设置。
引用:;;颜色设置,其实有个color-theme.el可以将Emacs设置丰富多彩,非常漂亮,不过启动有些慢(我得机器不行),我只是选择了一些颜色设置。
;; 指针颜色设置为白色
(set-cursor-color "white")
;; 鼠标颜色设置为白色
(set-mouse-color "white")
;; 设置背景颜色和字体颜色
(set-foreground-color "white")
(set-background-color "darkblue")
;; 设置另外一些颜色:语法高亮显示的背景和主题,区域选择的背景和主题,二次选择的背景和选择
(set-face-foreground 'highlight "white")
(set-face-background 'highlight "blue")
(set-face-foreground 'region "cyan")
(set-face-background 'region "blue")
(set-face-foreground 'secondary-selection "skyblue")
(set-face-background 'secondary-selection "darkblue")
;;设置日历的一些颜色
(setq calendar-load-hook
'(lambda ()
(set-face-foreground 'diary-face "skyblue")
(set-face-background 'holiday-face "slate blue")
(set-face-foreground 'holiday-face "white")))

;;外观设置
;;去掉工具栏
(tool-bar-mode nil)
;;去掉菜单栏,我将F10绑定为显示菜单栏,万一什么东西忘了,需要菜单栏了可以摁F10调出,再摁F10就去掉菜单
(menu-bar-mode nil)
;;不要滚动栏,现在都用滚轴鼠标了,可以不用滚动栏了
(scroll-bar-mode nil)

;;备份设置
;;emacs还有一个自动保存功能,默认在~/.emacs.d/auto-save-list里,这个非常有用,我这里没有改动,具体可以参见Sams teach yourself emacs in 24hours(我简称为sams24)
;;启用版本控制,即可以备份多次
(setq version-control t)
;;备份最原始的版本两次,记第一次编辑前的文档,和第二次编辑前的文档
(setq kept-old-versions 2)
;;备份最新的版本五次,理解同上
(setq kept-new-versions 5)
;;删掉不属于以上7中版本的版本
(setq delete-old-versions t)
;;设置备份文件的路径
(setq backup-directory-alist '(("." . "~/.emacs.tmp")))
;;备份设置方法,直接拷贝
(setq backup-by-copying t)

;;自动补全功能,这事从王垠的网站直接Copy过来的,引用一些他对此的说明
;;你可以设置以下 hippie-expand 的补全方式。它是一个优先列表, hippie-expand 会优先使用表最前面的函数来补全
;;这是说,首先使用当前的buffer补全,如果找不到,就到别的可见的窗口里寻找,如果还找不到,那么到所有打开的buffer去找,如果还……那么到kill-ring里,到文件名,到简称列表里,到list,…… 当前使用的匹配方式会在 echo 区域显示。
;;特别有意思的是 try-expand-line,它可以帮你补全整整一行文字。我很多时后有两行文字大致相同,只有几个字不一样,但是我懒得去拷贝粘贴以下。那么我就输入这行文字的前面几个字。然后多按几下 M-/ 就能得到那一行。
(global-set-key [(meta ?/)] 'hippie-expand)
(setq hippie-expand-try-functions-list
'(try-expand-line
try-expand-line-all-buffers
try-expand-list
try-expand-list-all-buffers
try-expand-dabbrev
try-expand-dabbrev-visible
try-expand-dabbrev-all-buffers
try-expand-dabbrev-from-kill
try-complete-file-name
try-complete-file-name-partially
try-complete-lisp-symbol
try-complete-lisp-symbol-partially
try-expand-whole-kill))

;;时间戳设置(time-stamp),设定文档上次保存的信息
;;只要里在你得文档里有Time-stamp:的设置,就会自动保存时间戳
;;启用time-stamp
(setq time-stamp-active t)
;;去掉time-stamp的警告?
(setq time-stamp-warn-inactive t)
;;设置time-stamp的格式,我如下的格式所得的一个例子:<hans 05/18/2004 12:01:12>
(setq time-stamp-format "%:u %02m/%02d/%04y %02H02M02S")
;;将修改时间戳添加到保存文件的动作里。
(add-hook 'write-file-hooks 'time-stamp)

;;时间显示设置
;;启用时间显示设置,在minibuffer上面的那个杠上(忘了叫什么来着)
(display-time-mode 1)
;;时间使用24小时制
(setq display-time-24hr-format t)
;;时间显示包括日期和具体时间
(setq display-time-day-and-date t)
;;时间栏旁边启用邮件设置
(setq display-time-use-mail-icon t)
;;时间的变化频率,单位多少来着?
(setq display-time-interval 10)

hvj的讨论和推广emacs贴3:
这里继续帖我得hvj-basic-config.el,讲另外一些比较零碎的设置
引用:;;启用minibuffer,好像是默认设置吧
(minibuffer-electric-default-mode 1)
;;启用部分补全功能,如输入M-x q r r相当于M-x query-replace-regexp
(partial-completion-mode 1)
;;在minibuffer里启用自动补全函数和变量
(icomplete-mode 1)
;;所有的问题用y/n方式,不用yes/no方式。有点懒,只想输入一个字母
(fset 'yes-or-no-p 'y-or-n-p)
;;允许minibuffer自由变化其大小(指宽度)
(setq resize-mini-windows t)
;;当寻找一个同名的文件,自动关联上那个文件?
(setq uniquify-buffer-name-style 'forward)
;;在emacs读man文档时,使用当前buffer
(setq Man-notify-method 'pushy)
;;鼠标自动避开指针,如当你输入的时候,指针到了鼠标的位置,鼠标有点挡住视线了
(mouse-avoidance-mode 'animate)
;;允许自动打开图片,如wiki里面
(auto-image-file-mode)
;;可以操作压缩文档
(auto-compression-mode 1)
;;在minibuffer上面可以显示列号
(column-number-mode t)
;;显示默认的文档的宽度,看起来比较舒服?
(setq default-fill-column 60)
;;指针不要闪,我得眼睛花了
(blink-cursor-mode -1)
(transient-mark-mode 1)
;;当指针到一个括号时,自动显示所匹配的另一个括号
(show-paren-mode 1)
;;是用滚轴鼠标
(mouse-wheel-mode t)
;;去掉烦人的警告铃声
(setq visible-bell nil)
;;滚动页面时比较舒服,不要整页的滚动
(setq scroll-step 1
scroll-margin 3
scroll-conservatively 10000)
;;设定句子结尾,主要是针对中文设置
(setq sentence-end "\\([¡££¡£¿]\\|¡¡\\|[.?!][]\"')}]*\\($\\|[ \t]\\)\\)[ \t\n]*")
(setq sentence-end-double-space nil)
;;去掉Emacs和gnus启动时的引导界面
(setq inhibit-startup-message t)
(setq gnus-inhibit-startup-message t)
;;当指针移到另一行,不要新增这一行?d
(setq next-line-add-newlines nil)
;;在文档最后自动插入空白一行,好像某些系统配置文件是需要这样的
(setq require-final-newline t)
(setq track-eol t)
;;使用C-k删掉指针到改行末的所有东西
(setq-default kill-whole-line t)
;;设定删除保存记录为200,可以方便以后无限恢复
(setq kill-ring-max 200)
;;增大使用查找函数和变量的寻找范围
(setq apropos-do-all t)
;;是用aspell程序作为Emacs的拼写检查成学
(setq-default ispell-program-name "aspell")
;;使用narrow功能时的一个设置
(put 'narrow-to-region 'disabled nil)
;;启动Emacs自动设置为两个窗口(上下各一个)
(split-window-vertically)
;;改变emacs标题栏的标题
(setq frame-title-format "%b@vj.org")
;;允许emacs和外部其他程序的粘贴
(setq x-select-enable-clipboard t)

hvj的讨论和推广emacs贴4:

这贴主要讲一下中文的设置,是我的配置文件hvj-language.el
我得Emacs中文配置由三部分组成:local设置,.Xdefault设置字体,hvj-language设置emacs环境。

我的locale设置很简单,如下:
引用:export LANG=en_US
export LC_CTYPE=zh_CN

我的.Xdefaults中有关emacs的配置是:
引用:Emacs.Font:fontset-global
Emacs.Fontset-0:-*-*-medium-r-*-*-14-*-*-*-*-*-fontset-global,\
ascii:-*-fixed-medium-r-*-*-14-*-*-*-*-*-iso8859-*,\
chinese-gb2312:-*-tangti-medium-r-normal-*-14-*-*-*-*-*-gb2312.1980-0,\
chinese-big5-1:-*-tangti-medium-r-*-*-14-*-*-*-*-*-big5-0,\
chinese-big5-2:-*-tangti-medium-r-*-*-14-*-*-*-*-*-big5-0, \
utf-8:-misc-fixed-medium-r-*-*-14-*-*-*-*-*-iso10646-1, \
mule-utf-8:-misc-fixed-*-r-*-*-14-*-*-*-*-*-iso10646-1, \
mule-unicode-0100-24ff:-misc-fixed-*-r-*-*-14-*-*-*-*-*-iso10646-1, \
korean-ksc5601:-*-*-medium-r-normal-*-20-*-*-*-*-*-ksc5601*-*, \
sjis:-*-*-medium-r-normal-*-20-*-*-*-*-*-jisx0208*-*

下面是我得hvj-language.el
引用:;;emacs环境设置
;;整体环境设置
(set-language-environment 'Chinese-GB)
;;应该和输入有关系
(set-keyboard-coding-system 'chinese-iso-8bit-with-esc)
;;终端下emacs的中文设置?
(set-terminal-coding-system 'chinese-iso-8bit-with-esc)
;;文件保存时的编码设置
(set-buffer-file-coding-system 'chinese-iso-8bit-with-esc)
;;下面两天是emacs和其他程序互相复制/粘贴的设置
;;在帖3(hvj-basicconfig.el)的最后一行中也有相关的一个设定
(set-selection-coding-system 'chinese-iso-8bit-with-esc)
(set-clipboard-coding-system 'chinese-iso-8bit-with-esc)
;;什么设置?忘了?有些人没用下面这些
(modify-coding-system-alist 'process "*" 'chinese-iso-8bit-with-esc)
(setq default-process-coding-system '(chinese-iso-8bit-with-esc . chinese-iso-8bit-with-esc))
(setq-default pathname-coding-system 'chinese-iso-8bit-with-esc)

;;字体解码优先顺序
;;从王垠那拷过来的,不用怎么再改吧。
(setq font-encoding-alist
(append '(("MuleTibetan-0" (tibetan . 0))
("GB2312" (chinese-gb2312 . 0))
("JISX0208" (japanese-jisx0208 . 0))
("JISX0212" (japanese-jisx0212 . 0))
("VISCII" (vietnamese-viscii-lower . 0))
("KSC5601" (korean-ksc5601 . 0))
("MuleArabic-0" (arabic-digit . 0))
("MuleArabic-1" (arabic-1-column . 0))
("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist))

一些其他的说明:
1,有些人使用gbk的locale,那么就需要安装mule-gbk扩展elisp包,我以前装过,配置不是很难。论坛里可以搜到,这次比较急,不再去搜了,下次在加到这贴里。
2,emacs目前对Unicode支持不是很好,虽然现在有mule-ucs包,我一直没用的很爽。对于Unicode解码的文件、email我都改用了别的工具。官方说emacs的下一版对unicode解码更好了,大家有兴趣可以去试用emacs-cvs版。
3,emacs在windows的中文设置,以及Xemacs在linux和Windows的设置我不清楚,没用过,不能保证这些方法能适用你们。

hvj的讨论和推广emacs贴5:

这次讲讲日历的设置。emacs的日历功能是很强大的,我只使用了万年历、生日功能。其实还有很多不错别的功能,如日记功能,以前学习emacs的时候就听有人用emacs的diary记日记和笔记。我的笔记都是用Wikij记录的,这在后面将会有介绍。

M-x calendar可以进入emacs中的日历,我将此功能绑定在一个键上了(在最后会将键的绑定)

小知识:M-x calendar是指Alt键和x键同时摁,然后在minibuffer输入calendar

下面就看看我的配置文件:
引用:;;日历基本配置
;;设置我所在地方的经纬度,calendar里有个功能是日月食的预测,和你的经纬度相联系的。
(setq calendar-latitude +39.9)
(setq calendar-longitude +116.4)
;;我的所在地北京,欢迎大家来找北京请我吃饭
(setq calendar-location-name "Beijing")
;;这个做什么的?忘了,有谁能告诉我,谢谢。
;;我的配置文件里很多东西忘了,欢迎大家来指正下
(setq calendar-remove-frame-by-deleting t)
;;设定一周的开始为周一
(setq calendar-week-start-day 1)
;;节日和生日提醒设置
;;我不过基督徒的节日、希伯来人的节日和伊斯兰教的节日。
;;我是无神论者,不过我喜欢神话,大家有兴趣也可以探讨一下,发email给我吧
(setq christian-holidays nil)
(setq hebrew-holidays nil)
(setq islamic-holidays nil)
;;设定一些自定义的生日和节日
;;隐私需要,删掉朋友的生日
;;后面那些农历节日需要每年根据日历修改
;;有些可惜,没有中国传统农历,谁能写个扩展elisp包弄一下
(setq general-holidays '((holiday-fixed 1 1 "元旦")
(holiday-fixed 3 8 "妇女节")
(holiday-fixed 4 1 "愚人节")
(holiday-fixed 4 11 "谁的生日")
(holiday-fixed 5 1 "劳动节")
(holiday-fixed 10 1 "国庆节")
(holiday-fixed 12 25 "圣诞节")
(holiday-fixed 2 5 "元宵节")
(holiday-fixed 4 4 "清明节")
(holiday-fixed 4 21 "鬼节")
(holiday-fixed 6 22 "端午节")
(holiday-fixed 9 28 "中秋节")
(holiday-float 5 0 2 "母亲节")
(holiday-float 6 0 3 "父亲节")
))
;;其他的一些设置
;;日历不和日记相连,我不用Calendar自带的diary记日记
(setq mark-diary-entries-in-calendar nil)
;;这个又忘了,我真是忘性好!
(setq appt-issue-message nil)
;;在日历中突出标记节日和生日
(setq mark-holidays-in-calendar t)
;;打开calendar自动打开节日和生日列表
(setq view-calendar-holidays-initially t)

;;下面两个是设置年份为中国年,好像默认的是用英文写的,由王垠修改的。
;;这个设置在节日列表的春节那天能看到,如今年的春节他就写着
;;Thursday, January 22, 2004: Chinese New Year (甲-申)
(setq chinese-calendar-celestial-stem
["甲" "乙" "丙" "丁" "戊" "己" "庚" "辛" "壬" "癸"])
(setq chinese-calendar-terrestrial-branch
["子" "丑" "寅" "卯" "辰" "巳" "戊" "未" "申" "酉" "戌" "亥"])

hvj的讨论和推广emacs贴6:

这贴主要讲hvj-folding.el,内容是关于编辑的。我目前用的不多,不好发表太多想法。这里主要引用王垠的一段话如下:

“我编辑了这么长一个 HTML 文件,你觉得一定很费力,不容易定位吧?其实我的屏幕看起来就是这个样子 。所有小节都被我折叠了起来,我很容易就可以调换小节的位置。我刚才把folding的大段的配置代码移动到了另一个文件,就像移动了一行。

folding 根据不同的文档有不同的标记,它都是基于注释的。本网页就是这样一个例子。”

我的配置文件也是直接从王垠那copy过来的,如下:
PHP 代码:
;;小知识:autoload和load相比,前者是在需要时启动folding.el,而在emacs启动时只加载这个函数名而已,也就是让Emacs知道有这个函数。而是用load,则在Emacs启动时便加载,如果加载东西很多,emacs启动会很慢。
(autoload 'folding-mode "folding"
"Minor mode that simulates a folding editor" t)
(load-library "folding")
(defun folding-mode-find-file-hook ()
"One of the hooks called whenever a `find-file' is successful."
(and (assq 'folded-file (buffer-local-variables))
folded-file
(folding-mode 1)
(kill-local-variable 'folded-file)))
(setq fold-fold-on-startup t)
(folding-mode-add-find-file-hook)

;;修改folding.el默认的快捷键,以方便自己使用
;;我大部分的快捷键在最后一帖中将会讲到
(setq fold-keys-already-setup nil)
(add-hook 'folding-mode-hook
(function (lambda()
(unless fold-keys-already-setup
(setq fold-keys-already-setup t)
(define-prefix-command 'ctl-f-folding-mode-prefix)
(define-key 'ctl-f-folding-mode-prefix "f" 'fold-fold-region)
(define-key 'ctl-f-folding-mode-prefix "e" 'fold-enter)
(define-key 'ctl-f-folding-mode-prefix "x" 'fold-exit)
(define-key 'ctl-f-folding-mode-prefix "b" 'fold-whole-buffer)
(define-key 'ctl-f-folding-mode-prefix "o" 'fold-open-buffer)
(define-key 'ctl-f-folding-mode-prefix "h" 'fold-hide)
(define-key 'ctl-f-folding-mode-prefix "s" 'fold-show)
(define-key 'ctl-f-folding-mode-prefix "t" 'fold-top-level)
(define-key 'ctl-f-folding-mode-prefix "f" 'fold-fold-region)
)
(local-set-key "C-f" 'ctl-f-folding-mode-prefix))))

;;设定各个模式下,折叠的具体内容和方式
(fold-add-to-marks-list 'sgml-mode
"<!-- {"
"<!-- } -->" " --> ")
(fold-add-to-marks-list 'c-mode "/* <" "/* > */" "*/")
(fold-add-to-marks-list 'c++-mode
"//<" "//>" "")
(fold-add-to-marks-list 'LaTeX-mode "%%% {{{" "%%% }}}" " ")
(fold-add-to-marks-list 'latex2e-mode "%%% {{{" "%%% }}}" " ")
(fold-add-to-marks-list 'latex-mode "%%%% {{{" "%%%% }}}" " ")
(fold-add-to-marks-list 'BibTeX-mode "%%% {{{" "%%% }}}" " ")
(fold-add-to-marks-list 'lisp-mode ";;; {" ";;; }" "")
(fold-add-to-marks-list 'lex-mode" /* {{{ " " /* }}} */ " "*/")
(fold-add-to-marks-list 'html-mode "<!-- { " "<!-- } -->" "-->")
(fold-add-to-marks-list 'shell-script-mode "# {{{" "# }}}" nil)
(fold-add-to-marks-list 'sh-mode "# {{{ " "# }}}" nil)

hvj的讨论和推广emacs贴7:

这里讲讲切换buffer的扩展elisp包。Emacs默认的好象是C-c C-b,感觉不是很人性化。所以很多emacs爱好者写出了学多这方面的扩展包:ibuffer.el,swbuffer.el,ido.el,tabbar.el,等等。

在王垠的网站里对这些包都有具体的说明。

而我使用的是ido.el和tabbar.el。

这贴主要贴一下ido.el,我对应的配置文件是hvj-ido.el,差不多也是从王垠那拷过来的。不过我用的功能不多,也没用到其切换buffer的功能,只用到其查找文件时的超级匹配功能;我切换buffer在后面的tabbar.el的功能中有讲解。切换buffer的功能,大家可以自己去体验一下,也很不错的。这个ido.el包确实非常的强大。

以下是我的hvj-ido.el,主要是对键绑定的修改。其实Emacs中的键绑定是比较难记的,但又是完全可以自定义的。除开一些基本的操作键,我很多键都自己绑定了;这就像自己写的程序,不管格式多乱,自己都能看懂。

hvj-ido.el
PHP 代码:
(require 'ido)
(ido-mode t)
(add-hook 'ido-define-mode-map-hook 'ido-hvj-keys)
(defun ido-hvj-keys ()
"Set up the keymap for `ido'."
;; common keys
(define-key ido-mode-map "C-e" 'ido-edit-input)
(define-key ido-mode-map "t" 'ido-complete) ;; complete partial
(define-key ido-mode-map "C-j" 'ido-select-text)
(define-key ido-mode-map "C-m" 'ido-exit-minibuffer)
(define-key ido-mode-map "?" 'ido-completion-help) ;; list completions
(define-key ido-mode-map [(control ? )] 'ido-restrict-to-matches)
(define-key ido-mode-map [(control ?@)] 'ido-restrict-to-matches)
;; cycle through matches
(define-key ido-mode-map "C-r" 'ido-prev-match)
(define-key ido-mode-map "C-s" 'ido-next-match)
(define-key ido-mode-map [right] 'ido-next-match)
(define-key ido-mode-map [left] 'ido-prev-match)
;; toggles
(define-key ido-mode-map "C-t" 'ido-toggle-regexp) ;; same as in isearch
(define-key ido-mode-map "C-p" 'ido-toggle-prefix)
(define-key ido-mode-map "C-c" 'ido-toggle-case)
(define-key ido-mode-map "C-a" 'ido-toggle-ignore)
;; keys used in file and dir environment
(when (memq ido-cur-item '(file dir))
(define-key ido-mode-map "C-b" 'ido-enter-switch-buffer)
(define-key ido-mode-map "C-d" 'ido-enter-dired)
(define-key ido-mode-map "C-f" 'ido-fallback-command)
;; cycle among directories
;; use [left] and [right] for matching files
(define-key ido-mode-map [down] 'ido-next-match-dir)
(define-key ido-mode-map [up] 'ido-prev-match-dir)
;; backspace functions
(define-key ido-mode-map [backspace] 'ido-delete-backward-updir)
(define-key ido-mode-map "d" 'ido-delete-backward-updir)
(define-key ido-mode-map [(meta backspace)] 'ido-delete-backward-word-updir)
(define-key ido-mode-map [(control backspace)] 'ido-up-directory)
;; I can't understand this
(define-key ido-mode-map [(meta ?d)] 'ido-wide-find-dir)
(define-key ido-mode-map [(meta ?f)] 'ido-wide-find-file)
(define-key ido-mode-map [(meta ?k)] 'ido-forget-work-directory)
(define-key ido-mode-map [(meta ?m)] 'ido-make-directory)
(define-key ido-mode-map [(meta down)] 'ido-next-work-directory)
(define-key ido-mode-map [(meta up)] 'ido-prev-work-directory)
(define-key ido-mode-map [(meta left)] 'ido-prev-work-file)
(define-key ido-mode-map [(meta right)] 'ido-next-work-file)
;; search in the directories
;; use C-_ to undo this
(define-key ido-mode-map [(meta ?s)] 'ido-merge-work-directories)
(define-key ido-mode-map [(control ?\_)] 'ido-undo-merge-work-directory)
)
(when (eq ido-cur-item 'file)
(define-key ido-mode-map "C-k" 'ido-delete-file-at-head)
(define-key ido-mode-map "C-l" 'ido-toggle-literal)
(define-key ido-mode-map "C-o" 'ido-copy-current-word)
(define-key ido-mode-map "C-v" 'ido-toggle-vc)
(define-key ido-mode-map "C-w" 'ido-copy-current-file-name)
)

(when (eq ido-cur-item 'buffer)
(define-key ido-mode-map "C-b" 'ido-fallback-command)
(define-key ido-mode-map "C-f" 'ido-enter-find-file)
(define-key ido-mode-map "C-k" 'ido-kill-buffer-at-head)
))

hvj的讨论和推广emacs贴8:

相信大部分在使用stardict或在将要使用linuxfans某开发组(好像有baif)的cutedict,我这里向大家推荐另外一个字典工具dictd。

dictd是一个字典服务器,dict是一个文本界面客户端。其实这个大家也应该比较熟悉,如kdict就是KDE桌面的dictd客户端。dictd的官方地址为:http://www.dict.org 。这是一个免费的字典服务器,有很多字典数据库给我们使用。

dictd的安装我就不讲了,很简单的。一般会同时安装客户端和服务器端。将dictd设为电脑启动的一个程序,这样电脑可以随时去查字典。默认的客户端为dict,常见用法就是dict -h localhost whatyourwanttolookup

在 emacs下也有一个dictd的客户端,叫做dictionary.el。常用的有两种模式,一种就是查字典dictionary-lookup- definition,一种是字典提示模式(dictionary-toolip-mode),也就是有屏幕取词功能,当然这里指在Emacsl里取词。还有单词匹配功能、单词搜索功能等等......

目前这个有一些问题就是:
1,我添加了一些英汉词典,我忘了在那个网站有找的,大家可以搜搜,找不到的话,我传到Sir的ftp里。
2,目前的有关中文的词典很少(只有cdict,xdict,和stardic的默认字典,都是英汉的),而stardict的好字典很多。我现在的想法是将 Stardict的字典格式能够改一下适合dictd使用。由于最近比较忙,一直托着没做,希望暑假能够去做一下。baif兄为 libdict(cutedict的内核)开发字典,转了一下,我前几天看了一下,感觉还是不适合dictd使用。希望有兴趣的朋友能够参与这个给 dictd增加有关中文的词典。

hvj-dictionary.el
PHP 代码:
;;在需要的时候加载所需的elisp
(autoload 'dictionary-search "dictionary"
"Ask for a word and search it in all dictionaries" t)
(autoload 'dictionary-match-words "dictionary"
"Ask for a word and search all matching words in the dictionaries" t)
(autoload 'dictionary-lookup-definition "dictionary"
"Unconditionally lookup the word at point." t)
(autoload 'dictionary "dictionary"
"Create a new dictionary buffer" t)
(autoload 'dictionary-mouse-popup-matching-words "dictionary"
"Display entries matching the word at the cursor" t)
(autoload 'dictionary-popup-matching-words "dictionary"
"Display entries matching the word at the point" t)
(autoload 'dictionary-tooltip-mode "dictionary"
"Display tooltips for the current word" t)
(autoload 'global-dictionary-tooltip-mode "dictionary"
"Enable/disable dictionary-tooltip-mode for all buffers" t)

;;设定字典服务器为本地服务器
;;如果你在包月的宽带上,不妨设定为[url]http://www.dict.org[/url]
;;如果你在局域网上,而局域网的某台机器有dictd服务器,你将服务器设定为他的IP即可。
(setq dictionary-server "localhost")
;;在字典提示模式中,使用wordnet字典数据库作为默认字典数据库
;;当然你可以修改,取决于你dictd服务器里的字典数据库
(setq dictionary-tooltip-dictionary "wn")

;; 设定中文词典的解码
;; 由qtjava兄告知,谢谢!
(setq dictionary-coding-systems-for-dictionaries '(("cdict" . gb2312)
("xdict" . gbk2312)
("stardic" . gb2312)))

hvj的讨论和推广emacs贴9:

这贴讲了一些网友们写的有意思和非常有用的elisp函数,可以方便很多工作,这也将是我以后完善我的配置文件的重点地方。不过目前配置文件里都只是我收集到的函数,和大家分享一下。

hvj-function.el
PHP 代码:
;;这个由王垠创作
;;如果你正在编辑一个东西(在位置A),突然想到别的某处(位置B)要修改或查看或别的,总之你要过去看看,你可以用C-.来在当前位置做个标记,然后去你想去的地方B,看了一会你觉的我可以回A去了,用C-,就回到刚才做标记的地方A,再用C-,又会回到B
(global-set-key [(control ?.)] 'ska-point-to-register)
(global-set-key [(control ?\,)] 'ska-jump-to-register)
(defun ska-point-to-register()
"Store cursorposition _fast_ in a register.
Use ska-jump-to-register to jump back to the stored
position."
(interactive)
(setq zmacs-region-stays t)
(point-to-register 8))

(defun ska-jump-to-register()
"Switches between current cursorposition and position
that was stored with ska-point-to-register."
(interactive)
(setq zmacs-region-stays t)
(let ((tmp (point-marker)))
(jump-to-register 8)
(set-register 8 tmp)))

;; 这个忘了是从哪个地方弄来的,在保存~/.emacs文件自动编译为.elc文件
;;目前只是对~/.emacs有效,其余的*.el文件还没有去弄,以后有空我会改的
;;小知识:由于配置文件越来越大,你的*.el配置文件最好都编译为*.elc文件,这样在启动emacs速度会有很大的提升

(defun autocompile nil
"compile itself if ~/.emacs"
(interactive)
(if (string= (buffer-file-name) (concat default-directory ".emacs"))
(byte-compile-file (buffer-file-name))))
(add-hook 'after-save-hook 'autocompile)

;;这个是从emacs-lisp-introduction的那个文档拷过来
;;功能同word的计算文字数相似,不过这个功能有待完善,对中文不大好使
(defun hvj-recursive-count-words (region-end)
"Number of words between point and REGION-END."
(if (and (< (point) region-end)
(re-search-forward "\\w+\\W*" region-end t))
(1+ (hvj-recursive-count-words region-end))
0))
(defun hvj-count-words-region (beginning end)
"Print number of words in the region.
Words are defined as at least one word-constituent
character followed by at least one character that is
not a word-constituent. The buffer's syntax table
determines which characters these are."
(interactive "r")
(message "Counting words in region ... ")
(save-excursion
(goto-char beginning)
(let ((count (hvj-recursive-count-words end)))
(cond ((zerop count)
(message
"The region does NOT have any words."))
((= 1 count)
(message "The region has 1 word."))
(t
(message
"The region has %d words." count))))))

;;这也忘了是从哪弄来的了
;;功能是将当前行设为本页第一行,同终端下的clear命令有点相似
(defun hvj-line-to-top-of-window ()
"Move the line point is on to top of window."
(interactive)
(recenter 0))

hvj的讨论和推广emacs贴10:

此帖讲讲在Emacs中看新闻组和收邮件。在emacs中看新闻组当仍不让的是gnus,收邮件的则比较多,我用过的就有gnus和mew。

这贴讲的是我以前的gnus的配置,可以看新闻组和收发邮件。

gnus的使用可以参考进化的鱼的网站和起配置文件:
网站:http://db.cs.hit.edu.cn/people/WangChunyu
配置文件:http://www.linuxsir.org/bbs/showthre...threadid=57933

hvj-gnus-withemal.el
PHP 代码:
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;news/email服务器基本设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;新闻和邮件服务器设置
;;常用新闻服务器:news.cn99.com和news.yaako.com
;;可更换使用,谁快用谁
(setq gnus-select-method '(nntp "news.cn99.com"))

;;我的邮件用nnml通过pop3来收
;;hotmail和yahoo等Webmail虽说手册上写的是可以的,但我还没有成功过
;;这里也支持多邮箱的设置,直接在后面以同样格式添加即可
(add-to-list 'gnus-secondary-select-methods '(nnml ""))
(eval-after-load "mail-source"
'(add-to-list 'mail-sources '(pop :server "pop.citiz.net"
:user "joanphan"
:password "hvjhvjhvj")))

;;邮件发送配置
;;邮件通过smtp.citiz.com或本地服务器发送
;;由于有些邮箱(如hotmail.com)将本地服务器作为垃圾邮件处理,所以最好使用smtp.citiz.net
(setq send-mail-function 'smtpmail-send-it)
(setq message-send-mail-function 'smtpmail-send-it)
;;不过我还未配置好这个用外部smtp服务器,我就转用mew了
;;下面这一行是从一个地方找到的设置,大家可以试试
;(setq smtpmail-auth-credentials '(("smtp.citiz.com" 25 "hvj" nil)))
;;我以前用的都是本地服务器
(setq smtpmail-default-smtp-server "127.0.0.1")

;;启用gnus-agent可以脱页浏览
(gnus-agentize)

;;;;;;;;;;;;
;;外观设置
;;;;;;;;;;;;

;;中文设置
(setq gnus-default-charset 'cn-gb-2312
gnus-group-name-charset-group-alist '((".*" . gb2312))
gnus-summary-show-article-charset-alist '((1 . cn-gb-2312) (2 . big5) (3 . chinese-gbk) (4 . utf-8))
gnus-newsgroup-ignored-charsets '(unknown-8bit x-unknown iso-8859-1)
gnus-group-posting-charset-alist '((".*" gb2312 (gb2312))))
(define-coding-system-alias 'gb18030 'gb2312)

;;窗口设置
(gnus-add-configuration '(article (vertical 1.0 (summary .35 point) (article 1.0))))

;;Group Buffer设置
;;自动进入Topic-mode
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

;;Sumarry Buffer设置
(setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")

;;Article Buffer设置
;;设定要显示的头消息格式
(setq gnus-visible-headers
"^\\(^To:\\|^CC:\\|^From:\\|^Subject:\\|^Date:\\|^Followup-To:
\\|^X-Newsreader:\\|^User-Agent:\\|^X-Mailer:
\\|Line:\\|Lines:\\|Content-Type:\\|NNTP-Posting-Host\\)")
;;自动断行,每行72个字符
(add-hook 'message-mode-hook (lambda ()
(setq fill-column 72)
(turn-on-auto-fill)))

;;;;;;;;;;;;;;;;;;
;; 回复和发送设置
;;;;;;;;;;;;;;;;;;

;;引用设置:不要原来的签名,引用全文
(setq message-cite-function 'message-cite-original-without-signature)
(add-hook 'mail-citation-hook 'sc-cite-original)

;;在新闻组中,提示确认是r(reply)还是f(follow)
(setq gnus-confirm-mail-reply-to-news t)

;;news/email基本回复设置
;;news的基本设置为将自己地址设为joanphanA@TcitizD.Tnet,避免被垃圾邮件者轻易搜到
;;email的基本设置使用公共邮件joanphan@citiz.com,私人邮箱可以在后面另设
(setq gnus-posting-styles
'(((message-mail-p)
(name "Joanphan")
(address "joanphan@citiz.net")
(User-Agent "Emacs+gnus")
(signature-file "~/hvj/sig/default.sig")
)
((message-news-p)
(name "Hans Joanphan")
(address "joanphanA@TcitizD.Tnet")
)
))

;;goupe parameters设置
(setq gnus-parameters
;;下面是用正则表达式表达的我的文件夹mail.self和mail.local
'(("mail\\.\\(self\\|local\\).*"
(auto-expire . t)
(posting-style
(name "Hans")
(address "joanphan@vj.org")
;;带签名档就是如下这句
(signature-file "~/hvj/sig/default.sig")))
("mail\\.\\(misc\\|spam\\).*"
;;设定垃圾邮件自动过期
;;gnus中使用过期一词,表示邮件将会很快被删除
(auto-expire . t))
("mail\\.friends.*"
(posting-style
(name "Joanphan")
;;给mail.friedns里的朋友回Email使用私人邮箱
;;安全原因,我这里将私人邮箱改了
;;以下的设置同上
(address "joanphan@citiz.net")
(signature-file "~/hvj/sig/default.sig")))
("Send-.*"
(total-expire . t)
(expire-wait . 1))
("cn\\..*"
(auto-expire . t)
(posting-style
(name "永远的阿凡")
(address "joanphanA@TcitizD.Tnet")
(User-Agent "Slackware/Gnus")
(signature-file "~/hvj/sig/cn.sig")))
("\\(alt\\|comp\\|gnu\\|linux\\|sci\\)\\..*"
(auto-expire . t)
(posting-style
(name "Hans Joanphan")
(address "joanphanA@TcitizD.Tnet")
(User-Agent "Emacs21.3/Gnus5.10.6")
(signature-file "~/hvj/sig/en.sig")))))

;;;;;;;;;;;;;;;;;;;;;
;;email/news管理设置
;;;;;;;;;;;;;;;;;;;;;

;;地址簿管理
(require 'bbdb)
(bbdb-initialize 'gnus 'message)

;;开启记分功能
(setq gnus-use-adaptive-scoring t)
(setq gnus-save-score t)
(add-hook 'message-sent-hook 'gnus-score-followup-article)
(add-hook 'message-sent-hook 'gnus-score-followup-thread)

;;定义自己的计分原则
(defvar gnus-default-adaptive-score-alist
'((gnus-kill-file-mark (from -10))
(gnus-unread-mark)
(gnus-read-mark (from 10) (subject 30))
(gnus-catchup-mark (subject -10))
(gnus-killed-mark (from -1) (subject -30))
(gnus-del-mark (from -2) (subject -15))
(gnus-ticked-mark (from 10))
(gnus-dormant-mark (from 5))))

(setq gnus-score-find-score-files-function
'(gnus-score-find-hierarchical gnus-score-find-bnews bbdb/gnus-score)
gnus-use-adaptive-scoring t)

;;archive设置
(setq gnus-message-archive-group
'((if (message-news-p)
(concat "news." (format-time-string "%Y-%m"))
(concat "mail." (format-time-string "%Y-%m")))))

;;;;;;;;;;;;;;;;
;;邮件分类
;;;;;;;;;;;;;;;;

;;保存发送的email和news分别到Send-Mail和Send-News
(setq gnus-message-archive-group
'((if (message-news-p)
"nnml:Send-News"
"nnml:Send-Mail")))

;;;使用split-fancy来分类,并取消一信多投和删除重复邮件
;;注意,这里的邮箱使用正则表达式表示,如j@linux.org应表示为j@linux.org
(setq nnmail-treat-duplicates 'delete)
;;不使用交叉投信,即下面的分类按先后有优先顺序
(setq nnmail-crosspost nil)
;;默认邮件分类不是这个,但我们所用的这个功能更强大
(setq nnmail-split-methods 'nnmail-split-fancy)
(setq nnmail-split-fancy
'(|
("from" mail (|
("subject" "warn.*" "mail.local")
"mail.misc"))
;;网页格式的email送入mail.html
("Content-Type" "text/\\(html\\|richtest\\)" "mail.html")
;;设定一些垃圾邮件过滤设置
("Content-Type" "\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\)" "mail.spam")
("Subject" "\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\)" "mail.spam")
("Subject" "\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\)" "mail.spam")
("X-Mailer" "\\(.*BulkMailer.*\\|.*MIME::Lite.*\\)" "mail.spam")
("X-Mailer" "\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)" "mail.spam")
("from" "\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\)" "mail.spam")
;;news-letter的设置
(any "ding@gnus\\.org" "list.gnus")
(any "emacs-devel@gnu\\.org" "list.emacs-devel")
("Subject" "ding" "list.ding")
;;自己给自发的邮件放入mail.self
("from" "joanphan@vj\\.org" "mail.self")
(to "\\(joanphan@citiz\\.net\\|joanphan@vip\\.ddd\\.com\\)"
(|
;;下面两个email是假的,用作实验
;;ddk@sina.com的邮件自动送到文件夹mail.linuxers
(from "ddk@sina\\.com" "mail.linuxers")
;;此处省略我的地址簿分类
;;kailiu@sina.com的邮件自动送到文件夹mail.friends
(from "kailiu@sina\\.com" "mail.friends")
;;接受者是我,但发送者不在以上分类,发到文件夹mail.misc
"mail.misc"))
;;其余无法归类的列为垃圾邮件,送入mail.spam
;;当然你愿意的时候可以去文件夹mail.spam看看是不是真的是垃圾邮件
"mail.spam"))

;;;;;;;;;;;;;;;;;;;;;;;
;; Misc Configurations
;;;;;;;;;;;;;;;;;;;;;;;

;;看html和richtext的email只看文本部分
(eval-after-load "mm-decode"
'(progn
(add-to-list 'mm-discouraged-alternatives "text/richtext")))
(setq mm-text-html-renderer 'w3m)
(setq mm-inline-text-html-with-w3m-keymap nil)

后来我用Gnus只看新闻组,设置稍微减了些,如下

hvj-gnus.el
PHP 代码:
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;news服务器基本设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;新闻和邮件服务器设置
;;常用新闻服务器:news.cn99.com和news.yaako.com
;;可更换使用,谁快用谁
(setq gnus-select-method '(nntp "news.cn99.com"))

;;启用gnus-agent可以脱页浏览
(gnus-agentize)

;;;;;;;;;;;;
;;外观设置
;;;;;;;;;;;;

;;中文设置
(setq gnus-default-charset 'cn-gb-2312
gnus-group-name-charset-group-alist '((".*" . gb2312))
gnus-summary-show-article-charset-alist '((1 . cn-gb-2312) (2 . big5) (3 . chinese-gbk) (4 . utf-8))
gnus-newsgroup-ignored-charsets '(unknown-8bit x-unknown iso-8859-1)
gnus-group-posting-charset-alist '((".*" gb2312 (gb2312))))
(define-coding-system-alias 'gb18030 'gb2312)

;;窗口设置
(gnus-add-configuration '(article (vertical 1.0 (summary .35 point) (article 1.0))))

;;Group Buffer设置, 自动进入Topic-mode
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

;;Sumarry Buffer设置
(setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")

;;Article Buffer设置
;;设定要显示的头消息格式
(setq gnus-visible-headers
"^\\(^To:\\|^CC:\\|^From:\\|^Subject:\\|^Date:\\|^Followup-To:
\\|^X-Newsreader:\\|^User-Agent:\\|^X-Mailer:
\\|Line:\\|Lines:\\|Content-Type:\\|NNTP-Posting-Host\\)")
;;自动断行,每行72个字符
(add-hook 'message-mode-hook (lambda ()
(setq fill-column 72)
(turn-on-auto-fill)))

;;;;;;;;;;;;;;;;;;
;; 回复和发送设置
;;;;;;;;;;;;;;;;;;

;;引用设置:不要原来的签名,引用全文
(setq message-cite-function 'message-cite-original-without-signature)
(add-hook 'mail-citation-hook 'sc-cite-original)

;;在新闻组中,提示确认是r(reply)还是f(follow)
(setq gnus-confirm-mail-reply-to-news t)

;;news基本回复设置
(setq gnus-posting-styles
'(((message-news-p)
(name "Hans Joanphan")
(address "joanphanA@TcitizD.Tnet")
)
))

;;group parameters设置
(setq gnus-parameters
'(("Send-.*"
(total-expire . t)
(expire-wait . 1))
("cn\\..*"
(auto-expire . t)
(posting-style
(name "永远的阿凡")
(address "joanphanA@TcitizD.Tnet")
(User-Agent "Slackware/Gnus")
(signature-file "~/hvj/sig/cn.sig")))
("\\(alt\\|comp\\|gnu\\|linux\\|sci\\)\\..*"
(auto-expire . t)
(posting-style
(name "Hans Joanphan")
(address "joanphanA@TcitizD.Tnet")
(User-Agent "Emacs21.3/Gnus5.10.6")
(signature-file "~/hvj/sig/en.sig")))))

;;;;;;;;;;;;;;;;;;;;;
;;news管理设置
;;;;;;;;;;;;;;;;;;;;;

;;开启记分功能
(setq gnus-use-adaptive-scoring t)
(setq gnus-save-score t)
(add-hook 'message-sent-hook 'gnus-score-followup-article)
(add-hook 'message-sent-hook 'gnus-score-followup-thread)

;;定义自己的计分原则
(defvar gnus-default-adaptive-score-alist
'((gnus-kill-file-mark (from -10))
(gnus-unread-mark)
(gnus-read-mark (from 10) (subject 30))
(gnus-catchup-mark (subject -10))
(gnus-killed-mark (from -1) (subject -30))
(gnus-del-mark (from -2) (subject -15))
(gnus-ticked-mark (from 10))
(gnus-dormant-mark (from 5))))

(setq gnus-score-find-score-files-function
'(gnus-score-find-hierarchical gnus-score-find-bnews bbdb/gnus-score)
gnus-use-adaptive-scoring t)

;;archive设置
(setq gnus-message-archive-group
'((if (message-news-p)
(concat "news." (format-time-string "%Y-%m")))))

;;保存发送的news分别到Send-News
(setq gnus-message-archive-group
'((if (message-news-p)
"nnml:Send-News")))

hvj的讨论和推广emacs贴11:

前面讲到用gnus收发Email,我们还有另外一个不错的选择,就是mew。

其实Gnus(注:安装emacs后需另升级gnus)和mew对中文支持差不多了,但是有两点理由我暂时转向了mew
1,gnus收新闻和email同时时很慢(两者没有影响,只是加起来就长了),而分开后感觉就快了
注:有朋友解决了这个问题,用fetchmail收邮件到本地,在用gnus看本地邮件,速度就快了
2,gnus没有将邮件保存在服务器的功能,对于一些我无法处理的Unicode解码的邮件我是无可奈何,但是mew可以,对于比较少数的unicode解码邮件,我大不了上网用浏览器看
注:有朋友解决了这个问题,fetchmail取信有保存邮件到邮件服务器的功能

当然了,mew没有gnus强大的邮件分类归档功能,对垃圾邮件处理不行。等到下一版emacs对unicode支持好了,我还是会用gnus。
注:emacs-cvs对unicode已经不错,大家可以去试用

下面是我的hvj-mew.el
PHP 代码:
;;;;;;;;;;;;;;;;;;;;;
;;启动和初始化mew的设置
;;将emacs收发邮件的默认设置为gnus改为mew
;;;;;;;;;;;;;;;;;;;;;
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
;;设定图表所在文件夹,这个和w3m类似,如果不正确,mew无法启动
(setq mew-icon-directory "/usr/share/mew")
(if (boundp 'read-mail-command)
(setq read-mail-command 'mew))
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'mew-user-agent
'mew-user-agent-compose
'mew-draft-send-message
'mew-draft-kill
'mew-send-hook))

;;;;;;;;;;;;;;;;;;;;;;
;;信件引用设置
;;;;;;;;;;;;;;;;;;;;;;
(setq mew-cite-fields '("From:" "Subject:" "Date:" "Message-ID:"))
(setq mew-cite-format "From: %s\nSubject: %s\nDate: %s\nMessage-ID: %s\n\n")
(setq mew-cite-prefix-function 'mew-cite-prefix-username)

;;;;;;;;;;;;;;;;;;;;;
;;用w3m来读html格式邮件
;;w3m的使用将在以后讲到
;;;;;;;;;;;;;;;;;;;;;
(setq mew-mime-multipart-alternative-list '("Text/Html" "Text/Plain" "*."))
(condition-case nil
(require 'mew-w3m)
(file-error nil))

;;;;;;;;;;;;;;;;;
;;一些其他设置,未归类
;;;;;;;;;;;;;;;;;
(setq mew-pop-size 0)
(setq toolbar-mail-reader 'Mew)
(set-default 'mew-decode-quoted 't)
;;设定公共钥匙所用程序,下面采用的是GnuPG
(setq mew-prog-pgp "gpg")

;;;;;;;;;;;;
;;设定用户信息
;;;;;;;;;;;;
(setq mew-name "Hans Joanphan")
(setq mew-user "joanphan")

;;;;;;;;;;;;
;;设定smtp服务器
;;个人原因,这里不列出我的正确Email
;;;;;;;;;;;;
(setq mew-smtp-user "joanphan@citiz.com")
(setq mew-mail-domain "citiz.com")
(setq mew-smtp-server "smtp.citiz.com")
;;smtp服务器认证设定
(setq mew-smtp-auth-list (quote ("CRAM-MD5" "LOGIN" "PLAIN")))
;;smtp服务器不用认证采用下面设定
;(setq mew-smtp-auth-list nil)

;;;;;;;;;;;
;;设定pop3服务器
;;个人原因,这里不列出我的正确Email
;;;;;;;;;;;
(setq mew-pop-server "pop.citiz.net")
(setq mew-pop-user "joanphan@citiz.com")
(setq mew-pop-auth 'pass) ;;认证方式
(setq mew-pop-delete nil) ;;将邮件留在服务器上

;;;;;;;;;;;;
;;设定将密码保存一段时间,默认20分钟
;;;;;;;;;;;;
(setq mew-use-cached-passwd t)
;;gnus可以将密码放在配置文件里,收邮件的时候就不用输入密码了
;;我找了一下,发现下面这个变量应该有类似功能,但没有搞掂,高人帮忙!
;(setq mew-passwd-alist '(hvjhvjhvj)

;;;;;;;;;;;;;;;;;;;;;
;;语言设置
;;这个不知道有用没,好像在下一版emacs对unicode支持好了就可以了
;;当然这个试用emacs-cvs
;;;;;;;;;;;;;;;;;;;;;
(when (boundp 'utf-translate-cjk)
(setq utf-translate-cjk t)
(custom-set-variables
'(utf-translate-cjk t)))
(if (fboundp 'utf-translate-cjk-mode)
(utf-translate-cjk-mode 1))

默认的邮件保存在~/Mail,里面的文件Addrbook是地址本设置,设置好,在写邮件时可以自动补全,同gnus里使用bbdb一样,也有组群发功能。

一个地址簿样本:

代码:
hvj hvj@hvj.org
hhh hhh@hvj.org
h hvj, hhh

hvj的讨论和推广emacs贴12:

emacs中浏览网页的工具包主要有两个w3和w3m,xemacs中会默认使用w3,而w3已经很久没有更新了,在GNU emacs中推荐使用w3m。

w3m 是一个非常优秀的字符端网页浏览器,并且对CJK支持非常不错;在emacs中使用w3m是通过emacs-w3m扩展包使用w3m的。而w3是完全用 elisp语言编写的一个给emacs使用的浏览器扩展包。相对而言,emacs-w3m速度更快,对中文支持更好,对网页的支持也更强一些。

安装w3m时如果要给emacs使用,还得安装emacs-w3m包;另,很重要的一点,要安装w3m的图标,否则emacs-w3m无法使用。

emacs-w3m不仅仅可用来单独浏览网页(支持图片),gnus或mew可以调用他来读html格式的邮件,所以对于一个爱好emacs的朋友,我还是推荐大家安装w3m;虽然大部分我们上网浏览网页还是用mozilla或opera。

下面是我的配置文件:
hvj-w3m.el
PHP 代码:
;;启动和初始化w3m.el
(autoload 'w3m "w3m" "Interface for w3m on Emacs." t)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(autoload 'w3m-search "w3m-search" "Search words using emacs-w3m." t)
;;使用mule-ucs,只有在你安装mule-ucs elisp扩展包时这个才有用,可以看Unicode解码的网页
(setq w3m-use-mule-ucs t)
;;使用工具包
(setq w3m-use-toolbar t)
;;启用cookie
(setq w3m-use-cookies t)
;;设定w3m图标所在文件夹,gentoo的默认安装位置就是如下,大家可以根据自己的情况改一下
(setq w3m-icon-directory "/usr/share/emacs-w3m/emacs-w3m/icon")
;;设定w3m运行的参数,分别为使用cookie和使用框架
(setq w3m-command-arguments '("-cookie" "-F"))
;;用w3m浏览网页时也显示图片
(setq w3m-display-inline-image t)
;;设定w3m的语言设置,以便方便使用和阅读中文
;;书签解码设置
(setq w3m-bookmark-file-coding-system 'chinese-iso-8bit)
;;w3m的解码设置,后面最好都有,我也不详解了
(setq w3m-coding-system 'chinese-iso-8bit)
(setq w3m-default-coding-system 'chinese-iso-8bit)
(setq w3m-file-coding-system 'chinese-iso-8bit)
(setq w3m-file-name-coding-system 'chinese-iso-8bit)
(setq w3m-terminal-coding-system 'chinese-iso-8bit)
(setq w3m-input-coding-system 'chinese-iso-8bit)
(setq w3m-output-coding-system 'chinese-iso-8bit)
;;w3m是使用tab的,设定Tab的宽度
(setq w3m-tab-width 8)
;;设定w3m的主页,同mozilla的默认主页一样
(setq w3m-home-page "file://home/hans/.w3m/bookmark.html")
;;以下都给倒忘了
(setq w3m-view-this-url-new-session-in-background t)
(add-hook 'w3m-fontify-after-hook 'remove-w3m-output-garbages)
;;好像是有利于中文搜索的
(defun remove-w3m-output-garbages ()
(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))

hvj的讨论和推广emacs贴13:

sir的IRC已经开了,相信不少人想去聊天和讨论问题,也找了不少IRC客户端,如:Xchat, mirc, ircssi, chatzilla等等,这里就向大家推荐erc,emacs里的IRC客户端,对中文的支持也是非常好的。

下面是我的配置文件和讲解:hvj-erc.el

PHP 代码:
;;加载erc.el包
;;这个配置文件最好不要编译,否则下面定义的erc-sir等函数不能用
;;不过这个应该可以修改,我以后试试
(require 'erc)
;;设定一个有关方便连接IRC服务器的函数
(defmacro de-erc-connect (command server port nick)
"Create interactive command `command', for connecting to an IRC server. The
command uses interactive mode if passed an argument."
(fset command
`(lambda (arg)
(interactive "p")
(if (not (= 1 arg))
(erc-select ,server ,port ,nick)
(erc ,server ,port ,nick ,erc-user-full-name t)))))
;;这是咱们Sir的IRC,大家记得常去
(de-erc-connect erc-sir "linuxsir.org" 6667 "hvj")
;;这是linuxfans的IRC,有些时日了
(de-erc-connect erc-fans "irc.linuxfans.org" 6667 "hvj")
;;下面是我所在局域网里的IRC
(de-erc-connect erc-me "192.168.1.191" 6667 "hvj")
(de-erc-connect erc-van "192.168.1.14" 6667 "hvj")

;;设定一些有关变量
(custom-set-variables
;;进入linuxsir的IRC,自动加入#javalee频道,咱们的灌水频道,人气还不错
'(erc-autojoin-channels-alist '(("linuxsir.org" "#javalee")
;;进入linuxfans的IRC,自动加入#linuxfans和#linuxer频道,不过linuxfans的IRC已经自动这样设置了
("irc.linuxfans.org" "#linuxfans" "#linuxer")))
;;在默认情况下IRC里我的ID是hvj
'(erc-email-userid "hvj")
;;设定聊天时的行宽,方便阅读
'(erc-fill-column 67)
;;什么来着?
'(erc-fill-prefix " ")
;;屏蔽掉的一些命令
'(erc-hide-list '("JOIN" "PART" "QUIT"))
;;默认的昵称,这和userid有什么区别?还不清楚,清大家告诉我。
'(erc-nick "hvj")
;;默认的端口6667
'(erc-port 6667)
;;登录这些IRC不用密码登录
;;我在linuxfans已经注册了我的ID,我不用密码登录,将会一分钟后将我改名
;;下次我将改改这个变量
'(erc-prompt-for-password nil)
;;有关退出IRC的,什么意思来着?
'(erc-quit-reason 'erc-quit-reason-zippy)
;;不保存IRC聊天记录
;;大家可以找找,是可以保存的,只要你愿意
'(erc-save-buffer-on-part nil))

;;设定erc模式的一个滚动设置,保持输入在当前窗口的最后一行
(add-hook 'erc-mode-hook 'erc-add-scroll-to-bottom)

;;erc中文的关键设置,这个一定需要,否则你只能看中文,而不能“说”中文
(setq erc-encoding-default 'chinese-iso-8bit)

这贴讲一点emacs中的文件管理了。Emacs的文件管理默认有一个扩展包dired.el,这是一个同命令行式文件管理器相似但又功能非常强大的东东。我想对于emacs的爱好者,以及一些NO GNOME&NO KDE的用户,这是一个非常好的工具。

PHP 代码:
;;设定显示文件的参数,具体不记得了,以后再加上
(setq dired-listing-switches "-vl")
;;允许复制和删除时将文件夹里所有内容一起带上
(setq dired-recursive-copies t)
(setq dired-recursive-deletes t)
;;cvs时的一个浏览设置
(setq cvs-dired-use-hook 'always)
;;主要可以详细设置的地方
;;对于特定的文件,用什么程序打开
;;记住是用!,而不是enter键,enter键表示编辑,同v
;;记住在后面带上&,为后台运行,我们还要用Emacs做别的事情呢
;;下面的文件用的是正则表达式,要表达清楚
(add-hook 'dired-load-hook
(function (lambda ()
;;记住这里要加载另一个有关文件管理器的包dired-x.el,这个是dired的扩展,非常强大
(load "dired-x")
(setq dired-guess-shell-alist-user
(list
(list "\\.tar\\.bz2$" "tar jxvf * &")
'("\\.ps$" "gv * &")
'("\\.html?$" "rxvt -e w3m * &")
'("\\.pdf$" "xpdf * &")
'("\\.\\(jpe?g\\|gif\\|png\\|bmp\\|xbm\\|fig\\|eps\\)$" "display * &")
'("\\.\\([Ww][Mm][Vv]\\|[Vv][Oo][Bb]\\|[Mm][Pp][Ee]?[Gg]\\|asf\\|[Rr][Aa]?[Mm]\\)$" "mplayer * &")
))
)))
;;这个也忘了,好像是不允许忽略掉某些文件
;;到底是哪些文件,我想想
(add-hook 'dired-mode-hook
(function (lambda ()
(setq dired-omit-files-p nil)
)))

hvj的讨论和推广emacs贴15:

上面讲了不少别的地方有,emacs中也有的工具,如文件管理器dired,IRC客户端erc,邮件客户端mew,新闻组阅读器gnus,字典emacs-dictionary等等,那么是否也有虚拟终端呢?

大家常用的是xterm, rxvt, mlterm, 等等,主要希望的就是对中文支持够好。而在emacs中也有类似的工具,虽然有的只是调用外面的程序而已。

前不久在sir里面讨论时,就发现原来emacs中只是有四种虚拟终端:eshell, shell, term, termianl-emulator。而我一直孤陋寡闻,使用的是eshell,这是一个由elisp写的,老感觉只是凑合而已。不过现在不同了,term真的不错,感觉就跟rxvt一样,非常方便,当然因为在Emacs里,还支持粘贴/复制呢。鄙人一直没搞定在rxvt和外部程序的粘贴复制

小知识:上面这些虚拟终端可以通过类似M-x term的命令来运行。

因为刚开始用,目前这方面还没有单独的配置文件,都是默认的。但是有几点大家可以注意一下:
1,eshell没有使用~/.bashrc配置文件的,所以你得单独写很多elisp来完成你在~/.bashrc里有的功能。不过eshell有个小功能不错,摁TAB键多几次,你会发现补全很有意思和效率。
2,term(shell, termianl-emulator?)是使用你得Bash配置文件的,这一点我非常喜欢。可能大家会觉得term里的提示符不大漂亮,可以在~/.bashrc里设置一下,大家可以通过命令
代码:
echo $TERM
获得当前的TERM变量来设置。term的TERM变量为eterm。
3,目前我只会在一个emacsl里打开一个term。我在用eshell的时候见过有人这样写的,通过修改eshell的buffer名称,可以同时打开几个Eshell。以后有空我会在term这里试试,不知可行性如何?

hvj的讨论和推广emacs贴16:

用 wiki整理你的笔记和作小型网站。虽然html也不难,但是wiki更简单,做的网页也非常不错,管理站点也很好。目前Wiki有很多版本,我常用的就是emacs-wiki,和大家分享一下。不过目前没有用他作网站,只是管理笔记,感觉非常的灵活。下面就是我的配置文件:

hvj-wiki.el
PHP 代码:
;;加载emacs-wiki
(require 'emacs-wiki)
;;设置wiki所在文件夹
(setq emacs-wiki-directories '("~/hvj/wiki"))
;;设置wiki转换为html后所在的文件夹
(setq emacs-wiki-publishing-directory "publish")
;;设置wiki转为html用的解码
;;但好像仍然有些问题,用firefox打开时有时仍需手动调整解码
(setq emacs-wiki-meta-charset "gb2312")
;;设置wiki转为html的样式,不过目前我还没用
(setq emacs-wiki-style-sheet
"")
;;设置Wiki内图片的路径
(setq emacs-wiki-inline-relative-to 'default-directory)

;;现面两个函数,是由王垠编写的
;;预览生成网页的源码,即html源码
;;不过先将wiki生成html
(defun emacs-wiki-preview-source ()
(interactive)
(emacs-wiki-publish-this-page)
(find-file (emacs-wiki-published-file)))
;;这个函数是预览在浏览器中所生成的网页
;;这里用的是emacs-w3m浏览器,你也可使用外部浏览器,如firefox,这可能稍复杂点
(defun emacs-wiki-preview-html ()
(interactive)
(emacs-wiki-publish-this-page)
(w3m-browse-url (emacs-wiki-published-file)))

;;设定你的Wiki项目,有时候你可能拥有几个,一个给个人整理笔记用,一个用来发表为网站形式
(setq emacs-wiki-projects
'(("default" . ((emacs-wiki-directories . ("~/hvj/wiki"))))
("work" . ((fill-column . 65)
(emacs-wiki-directories . ("~/hvj/workwiki/"))))))

hvj的讨论和推广emacs贴17:

这里是我用的非emacs默认的扩展包,都是自己安装的,配置文件也不常,就集中在这里了。

hvj-other-elisp.el
PHP 代码:
;;有关解压缩的,以前用过,好久没用了
(require 'jka-compr)

;;desktop.el在.emacs文件中(贴1)讲过,需要放在Emacs配置文件的最后

;;session.el,同desktop.el,保存上次关闭时编辑文件所在的位置,而不仅仅只是打开那些文件
(require 'session)
;;将这个功能加到emacs初始化过程中
(add-hook 'after-init-hook 'session-initialize)

;;redo.el,与undo相反了,不过Emacs默认没有带这个功能
(require 'redo)

;;thumbs.el,看图的好东西,方便看大量的图片
;;他将图片都建立缩略图,所以第一次看比较慢,以后就方便了
;;不过我最近不用了,我喜欢用display *
;;(require 'thumbs)

;;tabbar.el,用firefox,opera的人都用过tab,很方便和人性化的一个功能
;;这里也有,并且按文件的模式分类
;;对于这个扩展包,我还用了一个绑定键,用来切换buffer,很方便
;;不过在非X下功能不全
(require 'tabbar)
(tabbar-mode)

;;table.el,图表功能,不错
;;还有一个适合双字节的一个类似的扩展包,大家可找找
;;好像是印度人写的
(require 'table)
(autoload 'table-insert "table" "WYGIWYS table editor")
(add-hook 'text-mode-hook 'table-recognize)

;;browse-kill-ring.el,emacs默认undo次数不多,用这个扩展包,可以极大的加强这个功能
;;有一次我在翻译一本书,翻译了一天,有好几万行了,朋友叫我去打排球,我就保存放在那里了
;;宿舍的一个朋友不懂emacs,在那用鼠标左键右键中键点了几次,却不知鼠标的键在emacs通过组合绑定了不少功能
;;可惜我的翻译文档,我回来的时候,全没了!
;;不过还好,有了这个包,我可以超强恢复,也不知道摁了多少次undo,所有的都恢复了
(require 'browse-kill-ring)
(browse-kill-ring-default-keybindings)

;;sawfish.el,我的窗口管理器是sawfish,我在编辑Sawfish的配置文件时,用这个模式可以正确的语法显示
(autoload 'sawfish-mode "sawfish" "sawfish-mode" t)

;;maxima.el,我很喜欢的数值计算工具maxima在emacs中使用所需的扩展包
;;maxima-mode只是普通的模式,同在终端上运行maxima类似
(autoload 'maxima "maxima" "Maxima interaction" t)
(autoload 'maxima-mode "maxima" "Maxima mode" t)
;;emaxima-mode,这个是非常漂亮的,因为掉用了tex,那可是对数学天生支持就好的
(autoload 'emaxima-mode "emaxima" "Emaxima" t)
(add-hook 'emaxmia-mode-hook 'emaxima-mark-file-as-emaxima)
(autoload 'imaxima "imaxima" "Image support for Maxima." t)

;;htmlhelpmode.el,加强的html扩展包,对html等网页源码能更好的语法显亮
(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
;;css-mode.el,对css文件很配
(autoload 'css-mode "css-mode" "Mode for editing CSS files" t)

;;services.el,一个小巧的玩意,询问端口和对应服务的关系
(autoload 'services-lookup "services" "Perform a service lookup" t)
(autoload 'services-clear-cache "services" "Clear the service cache" t)

;;igrep.el,emacs中的egrep
(require 'igrep)

........................

一个比较好、中文说明的emacs配置文件 1相关推荐

  1. 一个很好的 emacs 配置文件范例

    2019独角兽企业重金招聘Python工程师标准>>> 一个很好的 emacs 配置文件范例 (custom-set-variables;; custom-set-variables ...

  2. emacs配置文件浅谈

    标题: .emacs配置文件浅谈 .emacs 指的是emacs的配置文件.在UNIX下为".emacs".它在用户的HOME目录下. 你可以自己写一个全新的.emacs.但一般都 ...

  3. linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件

    第一启动emacs会在-目录下创建.emacs.d目录 使用.emacs.d目录管理Emacs配置文件 参考:Declaring .emacs Bankruptcy Emacs的默认配置文件是.ema ...

  4. Jcseg是基于mmseg算法的一个轻量级Java中文分词器

    Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同 ...

  5. 为每一个应用程序池单独设置aspnet.config配置文件

    为每一个应用程序池单独设置aspnet.config配置文件 ASP.NET2.0之后的版本号就在各Framework的根文件夹下提供了一个aspnet.config文件.这个文件用来配置全局的一些信 ...

  6. dingdang robot:一个开源的中文智能音箱项目

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:潘伟洲 免责说明:本文介绍的 dingdang-robot 与公司的叮当助手没有任何关系. 这个项目其实来源于我生活中的一个需求:我每天 ...

  7. dingdang-robot:一个开源的中文智能音箱项目

    2019独角兽企业重金招聘Python工程师标准>>> 欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:潘伟洲  免责说明:本文介绍的 dingdang-robot ...

  8. GPT模型介绍并且使用pytorch实现一个小型GPT中文闲聊系统

    文章目录 GPT模型介绍 无监督训练方式 模型结构 微调 下游任务输入形式 GPT-2 GPT-3 pytorch实现一个小型GPT中文闲聊系统 GPT模型介绍 GPT与BERT一样也是一种预训练模型 ...

  9. THULAC:一个高效的中文词法分析工具包

    THULAC:一个高效的中文词法分析工具包 目录 软件简介 在线演示 编译和安装 使用方式 与代表性分词软件的性能对比 词性标记集 THULAC的不同配置 获取链接 注意事项 历史 开源协议 相关论文 ...

最新文章

  1. Android webview 加载的html 无法显示弹框
  2. STM32下SD卡驱动详解
  3. c语言随机产生100个字母,C语言实现产生100以内的随机数做加减运算
  4. python 不同集合上元素的迭代 chain()
  5. 华为海思MPP媒体处理软件开发学习(基础)
  6. 苹果关闭iOS 14.1验证通道,阻止 iOS 14.2 降级
  7. 20210408:力扣(二分查找法的两种写法以及变体题目)
  8. inux中tail命令---用于查看文件内容
  9. 使用 RuPengGame游戏引擎包 建立游戏窗体 如鹏游戏引擎包下载地址 Thread Runnable 卖票实例
  10. ORA-00001: 违反唯一约束条件
  11. 云知声语音语义识别,语音唤醒和语音合成简单工具类封装
  12. Python学习之UnitTest【使用,生成HTML测试报告】
  13. 机器学习项目一:共享单车
  14. Android Framework 电源子系统(05)核心方法updatePowerStateLocked分析-3 更新屏保  发送通知  更新wakelock
  15. 2天获订2万台,明明如此普通,自游家NV为何如此自信?
  16. OFDM载波间隔_OFDM基本参数选择
  17. Android自定义实现点赞效果!
  18. 记flume部署过程中遇到的问题以及解决方法(持续更新)
  19. 计算机专业中国十大名校最新排名,中国最顶尖的十所大学 中国十大名校排名...
  20. STM32CubeMX安装及使用教程(一)

热门文章

  1. 计算机的软盘硬盘,为什么电脑硬盘上没有A盘和B盘?只有电脑老手才知道
  2. 看风水用什么罗盘最好_最好的罗盘,看风水,用哪种罗盘比较好?
  3. 2021年全球音频接口收入大约145.1百万美元,预计2028年达到171.2百万美元
  4. 移动开发(Android)招聘要求
  5. 【CVPR 2021】剪枝篇(五):基于关键通路的神经网络可解释剪枝
  6. 【梳理】数字设计基础与应用 第3章 时序逻辑基础 3.2 触发器
  7. 2011级-csdn-java-张侃— JDBC开发—文件的上传和下载(一)
  8. LINUX下为ORACLE数据库设置大页--hugepage
  9. VirtualBox+Vagrant+centos7安装教程
  10. 利用XP实现自动定时关机