emacs配置文件的基础知识 (转载)
2015-03-31 10:32
435 查看
转自:http://blog.csdn.net/schumyxp/article/details/2278268
emacs的配置文件,叫作.emacs,是个隐藏文件,存在于当前用户的根目录下面,也就是~/.emacs
emacs的配置文件采用了elisp作为配置文件的语言,来源于强大的lisp语言。下面我简单说一点emacs配置文件怎么写。虽然内容不多,也很肤浅,但是知道了这些,至少在编写自己的配置文件的时候,不会那么无序了。
在配置文件里面,引号(;)开头表示注释,比如下面这行
; this is the emacs config file
下面我来举一些例子,简单说说配置文件。
(setq transient-mark-mode t)
这行的意思是,给变量transient-mark-mode设置值为true。也可以简写为下面的样子
(transient-mark-mode)
但是我用22版本的emacs的时候,会出现warning,指出不建议我用简写的形式。因此,还是建议大家写成第一种形式,即:
(setq transient-mark-mode t)
前面的setq,是系统的关键字,表示给后面的变量赋值。t表示true,nil表示false。如果要关闭这个功能,就设置为nil。
这个变量transient-mark-mode,表示是否开启一个辅模式。这个辅模式可以高亮显示被选中的文本。如果不打开这个选项,也就是说不
进行设置(默认的是关闭),或者设置为nil,那么你选中的文本就没有任何变化。说白了,就是你根本看不到自己选中了哪些文本!!
好了,继续。
(setq load-path (cons (expand-file-name "~/.emacs.d")
load-path))
这
一行,表示设置load-path。这个load-path就是emacs的自定义库的加载路径。load-path (cons
(expand-file-name "~/.emacs.d")
load-path)是一句lisp语言,意思就是说,在原有的load-path的前面,追加路径~/.emacs.d。以后,我们只要把要加载的库
(即.el文件)放到.emacs.d目录下面,emacs就会自动加载它了。
再看这两行
(require 'template)
(template-initialize)
这个是加载模版的时候做的。
(require 'template)表示调用template,
(template-initialize)表示调用了一个名称为template-initialize的方法。通过这两行,emacs就能加载模版了。后面很多库的配置都跟这很类似。
下面仔细说说add-hook。
比如我们要编辑c++的代码文件,emacs会调用c++的主模式。但是这个模式里面的一些设定跟全局的设
定不一样,我想进行一些个性化的设置。比如,我想输入分号(;)的时候,emacs会自动换行,并且让下一行跟上面一行对齐。比如缩进的长度,我想设置为
4个空格的长度(当然了,你要是想很个性的设置为5个也可以)。这个时候,就得用到add-hook了,它可以对指定的主模式进行个性化的修改。看下面的
内容:
;;set c program style
(add-hook 'c-mode-hook 'linux-c-mode)
(setq imenu-sort-function 'imenu--sort-by-name)
(defun linux-c-mode()
(define-key c-mode-map [return] 'newline-and-indent)
(interactive)
(c-set-style "K&R")
(c-toggle-auto-state)
(c-toggle-hungry-state)
(setq c-basic-offset 4)
(imenu-add-menubar-index)
(which-function-mode)
)
这个是修饰c语言的个性化模式。
(add-hook 'c-mode-hook 'linux-c-mode)
在
这行里面,c-mode-hook是系统内部的东西,后面的linux-c-mode是我们自己写的一个方法。通过c-mode-hook,我们就可以改
变c语言的主模式了。那改变成什么样子呢?就是linux-c-mode里面定义的样子。在linux-c-mode里面,每行都表示一种改变。比如第一
行:
(define-key c-mode-map [return] 'newline-and-indent)
就重新定义了回车键。当你输入回车的回车,会自动缩进。
最后再说一下按键的定义,比如:
(global-set-key [f8] 'gdb)
就是定义了一个全局的按键,把功能按键F8,对应到了gdb上面。按一下F8,emacs就会给你启动gdb了。
深入的东西,请大家自己去看一下elisp的文章吧。我也是刚开始看,很多还不了解,也只能写这些了先。
emacs的配置文件,叫作.emacs,是个隐藏文件,存在于当前用户的根目录下面,也就是~/.emacs
emacs的配置文件采用了elisp作为配置文件的语言,来源于强大的lisp语言。下面我简单说一点emacs配置文件怎么写。虽然内容不多,也很肤浅,但是知道了这些,至少在编写自己的配置文件的时候,不会那么无序了。
在配置文件里面,引号(;)开头表示注释,比如下面这行
; this is the emacs config file
下面我来举一些例子,简单说说配置文件。
(setq transient-mark-mode t)
这行的意思是,给变量transient-mark-mode设置值为true。也可以简写为下面的样子
(transient-mark-mode)
但是我用22版本的emacs的时候,会出现warning,指出不建议我用简写的形式。因此,还是建议大家写成第一种形式,即:
(setq transient-mark-mode t)
前面的setq,是系统的关键字,表示给后面的变量赋值。t表示true,nil表示false。如果要关闭这个功能,就设置为nil。
这个变量transient-mark-mode,表示是否开启一个辅模式。这个辅模式可以高亮显示被选中的文本。如果不打开这个选项,也就是说不
进行设置(默认的是关闭),或者设置为nil,那么你选中的文本就没有任何变化。说白了,就是你根本看不到自己选中了哪些文本!!
好了,继续。
(setq load-path (cons (expand-file-name "~/.emacs.d")
load-path))
这
一行,表示设置load-path。这个load-path就是emacs的自定义库的加载路径。load-path (cons
(expand-file-name "~/.emacs.d")
load-path)是一句lisp语言,意思就是说,在原有的load-path的前面,追加路径~/.emacs.d。以后,我们只要把要加载的库
(即.el文件)放到.emacs.d目录下面,emacs就会自动加载它了。
再看这两行
(require 'template)
(template-initialize)
这个是加载模版的时候做的。
(require 'template)表示调用template,
(template-initialize)表示调用了一个名称为template-initialize的方法。通过这两行,emacs就能加载模版了。后面很多库的配置都跟这很类似。
下面仔细说说add-hook。
比如我们要编辑c++的代码文件,emacs会调用c++的主模式。但是这个模式里面的一些设定跟全局的设
定不一样,我想进行一些个性化的设置。比如,我想输入分号(;)的时候,emacs会自动换行,并且让下一行跟上面一行对齐。比如缩进的长度,我想设置为
4个空格的长度(当然了,你要是想很个性的设置为5个也可以)。这个时候,就得用到add-hook了,它可以对指定的主模式进行个性化的修改。看下面的
内容:
;;set c program style
(add-hook 'c-mode-hook 'linux-c-mode)
(setq imenu-sort-function 'imenu--sort-by-name)
(defun linux-c-mode()
(define-key c-mode-map [return] 'newline-and-indent)
(interactive)
(c-set-style "K&R")
(c-toggle-auto-state)
(c-toggle-hungry-state)
(setq c-basic-offset 4)
(imenu-add-menubar-index)
(which-function-mode)
)
这个是修饰c语言的个性化模式。
(add-hook 'c-mode-hook 'linux-c-mode)
在
这行里面,c-mode-hook是系统内部的东西,后面的linux-c-mode是我们自己写的一个方法。通过c-mode-hook,我们就可以改
变c语言的主模式了。那改变成什么样子呢?就是linux-c-mode里面定义的样子。在linux-c-mode里面,每行都表示一种改变。比如第一
行:
(define-key c-mode-map [return] 'newline-and-indent)
就重新定义了回车键。当你输入回车的回车,会自动缩进。
最后再说一下按键的定义,比如:
(global-set-key [f8] 'gdb)
就是定义了一个全局的按键,把功能按键F8,对应到了gdb上面。按一下F8,emacs就会给你启动gdb了。
深入的东西,请大家自己去看一下elisp的文章吧。我也是刚开始看,很多还不了解,也只能写这些了先。
相关文章推荐
- emacs配置文件的基础知识
- emacs配置文件的基础知识
- Android 资源文件--基础知识第一炮(转载)
- Linux基础知识整理[2]——Linux文件权限与目录配置
- 基础知识---应用程序配置文件(将section转换成对象一)
- vsftp基础知识之配置文件的介绍
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析------------转载
- 【Emacs】Emacs for windows基本配置文件【转载】
- 转载:Linux网络基础总结(常用配置文件&常用命令)
- 由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法及基础ssh知识理解
- Struts2学习笔记01----初识struts2配置文件和相关基础知识
- Spring Boot 基础知识学习(二)——配置文件多环境配置
- Spring Boot基础知识(三)----配置文件等零碎知识
- SpringBoot 基础知识学习(二)——配置文件多环境配置
- 20_Shell语言―――VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能
- MySQL-->基础知识-->linux 下 mysql配置文件 /etc/my.cnf 详细解释
- L24 shell基础知识(二)管道符-作业控制-shell变量-环境变量配置文件
- JavaEE进阶知识学习-----SpringBoot基础知识-2-配置文件知识
- 基础知识:详解Tomcat 配置文件server.xml
- Shell基础知识 (2) 之 管道符和作业控制、变量、环境变量配置文件