Emacs 入门指引(二) 安装及简单的配置

获取Emacs

现在的版本是:24.1,详细可见:http://www.gnu.org/software/emacs/。支持的操作系统有:

GNUFreeBSDSolarisMS Windows
GNU/LinuxNetBSDMac OS XMS DOS
GNU/kFreeBSDOpenBSDAIX

获取Emacs

安装方法:Windows直接解压就可以使用。Ubuntu安装完即可使用,Mac OSX同。如果下载的是源码包 (ftp://ftp.gnu.org/gnu/emacs/),则需要编译。

配置Emacs

Windows下需要对进行Home目录,修改及配置。

  • 如果设置了HOME环境变量,那么就用它的值作为home目录~
  • 如果存在注册表键值HKCU\SOFTWARE\GNU\Emacs\HOME,就用它的值作为home目录~
  • 如果存在注册表键值HKLM\SOFTWARE\GNU\Emacs\HOME,就用它的值作为home目录~(和2的区别是,2只是针对当前用户的注册表路径,3则是针对所有用户)
  • 如果存在C:\.emacs,就用C:\作为home目录~
  • 如果以上都不存在的话,就使用\Users\\AppData\Roaming作为home目录~(对于XP和较早windows用户,需要到Documents and Settings目录下去找)

Mac OSX,及类Unix系统都是是在默认的用户目录下,也就是HOME下的个人文件夹。默认的emacs配置文件有三个(详细可参考:http://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html即:

  • ~/.emacs
  • ~/.emacs.el
  • ~/.emacs.d/init.el

我们通常用.emacs文件进行配置,不过一些比较主流的是放置于.emacs.d文件夹下。不过虽然是叫配置文件,官方的叫法是初始化文件。网上搜索的,可参考的一些简单的自定义及配置:

(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) 

而,我们知道Emacs更主要的是在于其扩展,以及不断增长的特性。我们可以用些来增加一些mode及功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值