本文是我从安装到学习的一步步走来的记录,希望能帮到和我一样的初级者.
首先说明一下本人的环境:
1,修改emacs的home路径.(自动生成的.emacs.d目录和.emacs文件会生成在home
目录下)
设置注册表:HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs 添加 字符串值:
HOME=D:\emacs-24.3(这个是本人的emacs安装路径)
2,自动生成.emacs.d目录和.emacs文件
打开emacs options菜单随便修改一个选项,然后save option.发现
D:\emacs-24.3目录下生成.emacs.d目录和.emacs文件.
3,下载emacs24-starter-kit
网址:https://github.com/eschulte/emacs24-starter-kit
4,安装emacs24-starter-kit
a,作者说:don't add ~/.emacs.d/ to load-path user src subdir
Very new versions of Emacs now complain about adding the base of
the~/.emacs.d/ directory to the load path. Since the starter-kit
suggests placing source files into ~/.emacs.d/src/ instead of
directly in ~/.emacs.d/, we may as well remove ~/.emacs.d/ from
the load path as the new Emacs warnings recommend.
I apologize if this change breaks anyone's existing config,
although it should be an easy fix, simply move all required .el
files in to the src/ subdirectory.
b,在.emacs.d目录下创建目录src,把下的emacs24-starter-kit解压后的文
件,全部拷进D:\emacs-24.3\.emacs.d\src
c,经过实践发现好像这个扩展包没有安装OK,因为我看到配置文件中有提到
"C-+"是增大字体的快捷键.但是我按这个键却提示undefined.
d,于是晚上搜资料,发现有前辈的指示:
**************************************************************
.emacs.d是emacs的配置目录,第一
次打开emacs后会自动生成的吧,还有.emacs。它们都是在home目录下的。
像楼下说的一样,你可以删掉.eamcs然后在.emacs.d中新建个init.el文件,
作用是一样的,eamcs会去找配置,.eamcs优先于init.el起作用。建议使
用init.el的方式,因为这个文件是在.emacs.d目录中的,方便集中管理。
一般人用emacs也就是找找牛人的现成配置,或者网上抄一段有用的放
到.emacs或者init.el中就能起作用,当然,报错了就不成了。
**************************************************************
e,于是把.emacs文件删除了,把emacs24-starter-kit目录下的所有文件拷
贝到D:\emacs-24.3\.emacs.d目录下,而不是D:\emacs-24.3\.emac.d\src
下.再次启动,发现启动速度变慢了好多,成功了!
到此,我们算是有一个能够进行EMACS操作和学习的基本平台了.
自己的实际需要我只记住了下面的这些快捷键:
C = Control
M = Meta = Alt | Esc
Del = Backspace
基本快捷键(Basic)
C-x C-f "find"文件, 即在缓冲区打开/新建一个文件
C-x C-s 保存文件
C-x C-w 使用其他文件名另存为文件
C-x C-v 关闭当前缓冲区文件并打开新文件
C-x C-b 显示缓冲区列表
C-x k 关闭当前缓冲区
C-z 挂起emacs
C-x C-c 关闭emacs
光标移动基本快捷键(Basic Movement)
C-f 后一个字符
C-b 前一个字符
C-p 上一行
C-n 下一行
M-f 后一个单词
M-b 前一个单词
C-a 行首
C-e 行尾
C-v 向下翻一页
M-v 向上翻一页
M-< 到文件开头
M-> 到文件末尾
编辑(Editint)
C-u 重复执行后一个命令4次
C-d 删除(delete)后一个字符
M-d 删除后一个单词
Del 删除前一个字符
M-Del 删除前一个单词
C-k 移除(kill)一行
C-Space 设置开始标记 (例如标记区域) ;;这个快捷键是废的
C-@ 功能同上, 用于C-Space被操作系统拦截的情况
C-w 剪切
M-w 复制
C-y 粘贴
C-x C-t 交换两行的位置
重要快捷键(Important)
C-g 停止当前运行/输入的命令
C-/ 撤销前一个命令
搜索/替换(Seach/Replace)
C-s 向后搜索
C-r 向前搜索
M-% 询问并替换(query replace)
窗口命令(Window Commands)
C-x 1 关闭除了光标所在窗格外所有窗格
宏命令(Macro-commands)
C-x ( 开始定义宏
C-x ) 结束定义宏
C-x e 运行最近定义的宏
M-x name-last-kbd-macro 给最近定义的宏命名(用来保存)
M-x insert-kbd-macro 将已命名的宏保存到文件
D:\emacs-24.3\.emacs.d\custom.el中.
** 定制1: 制作了拷贝至行首,至行尾,拷贝整行的快捷方式:
介绍一下制作宏的方法:
VI中有一个指导理念:Never type it twice,遵循该理念可以使VI编辑文
件速度很快。
Emacs中同样也可以做到这一点。例如很多重复性的工作都可以通过使
用宏来替代.
下面是Emacs中使用宏的简要介。
1)开始录制宏,用C-x (;
2)输入你的动作
3) 结束录制宏,用C-x );
4) 用C-x e来使用宏。
你还可以对已定义的宏命名并保存到文本中,以便下次再用:
1) 按照上面的过程定义一个宏;
2) M-x name-last-kbd-macro;
3) 按提示输入你所要定义的宏名称;
4) 打你的.emacs文件并把光标跳转到特定的位置;
5) M-x insert-kbd-macro;
6) 输入你刚刚取的名字。
所以我的操作是:
1) 开始录制宏,用C-x (
2) 输入我的动作: C-@ C-a M-w ;;动作为标记,跳至行首,复制
3) 结束录制宏,用C-x )
4) M-x name-last-kbd-macro RET
5) 输入名称:cta ;;至此我创建了一个名为cta的宏,它的操作是从光标
处开始拷贝到行首.
6) 将宏保存到custom.el:输入C-x C-f 找到custom.el并打开.
7) 输入:M->跳至最末尾的位置,再输入M-x insert-kbd-macro RET
8) 输入:cta
9) 此时,在custom.el中可以看到:(fset 'cta "\C-@\C-a\367")
10)仅仅只有这个宏还不够,我为它分配一个快捷键C-c C-a,在后面添
加:(global-set-key "\C-c\C-a" 'cta);
11)这时custom.el中有下面这两行语句:
(global-set-key "\C-c\C-a" 'cta);
(fset 'cta "\C-@\C-a\367")
这样我们就将这样一个宏绑定到一个快捷键C-c C-a上了,在任意
行上输入C-c C-a就会复制至行首了.
12)重启emacs.
同样的道理我又制作了复制至行尾和复制整行的快捷键,配置如下:
;;cte copy from cursor position to end
(global-set-key "\C-c\C-e" 'cte);
(fset 'cte "\C-@\C-e\367")
;;cwl copy whole line
(global-set-key "\C-c\C-w" 'cwl);
(fset 'cwl "\C-a\C-@\C-e\367")
** 定制2: 实现在buffer间切换
在custom.el中添加如下两句,即可,M-p上一个buffer,M-n 下一个buffer:
(global-set-key "\M-p" 'bs-cycle-previous)
(global-set-key "\M-n" 'bs-cycle-next)
** 定制3: 给文件加密
由于我开始使用org-mode记日记,但是由于越写越觉得隐私,不想总是被我家
的婆娘偷看(女人的通病,没有办法),如果你也面临这样的问题,下面这个玩意
简介
比较流行的方法其实是使用easypg作文gungp的前端来进行加密 ,而且也同时支
持了win和linux而且加密的功能也更为的强大,唯一比较麻烦的问题是gpg2之后
的版本没办法保存密码缓冲,导致每次按保存文件都要进行一次算法选择,一次密
码输入非常的烦人.所以好不容易又找到一个方法,就是使用ccrypt,它也有
cygwin的win版本.
下载ccrypt
项目主页: http://ccrypt.sourceforge.net/, 选择windows版本.
安装ccrypt
解压至D:\ccrypt-1.10.cygwin-i386,然后在环境变量path中添
加:D:\ccrypt-1.10.cygwin-i386.然后将ccrypt.exe和cygwin1.dll拷贝到
C:\WINDOWS\system32目录中.
在custom.el中添加
(setq load-path (cons "D:\ccrypt-1.10.cygwin-i386" load-path))
(require 'ps-ccrypt "ps-ccrypt.el")
使用
使用就非常简单了,直接把文件的后缀保存成.cpt就会第一次保存的时候就会向
你要密码.再保存不需要再输入密码.以后打开的时候也会需要密码.
这里说一下关于后缀的问题
和easypg一样很智能,如果给的是.org.cpt后缀,在输入密码打开后,一样会进入
org-mode.其他模式也一样.
一点小问题
就是在第一次新建文件的时候,它也会向你要一个密码,这个时候随便给,或者不
给都可以.这个可能和emacs本身有点关系,不知道能不能修改好.
* emacs安装篇:
首先说明一下本人的环境:
Windows XP系统+ Emacs 24.3.1
D:\emacs-24.3(这个是本人的emacs安装路径)
1,修改emacs的home路径.(自动生成的.emacs.d目录和.emacs文件会生成在home
目录下)
设置注册表:HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs 添加 字符串值:
HOME=D:\emacs-24.3(这个是本人的emacs安装路径)
2,自动生成.emacs.d目录和.emacs文件
打开emacs options菜单随便修改一个选项,然后save option.发现
D:\emacs-24.3目录下生成.emacs.d目录和.emacs文件.
3,下载emacs24-starter-kit
网址:https://github.com/eschulte/emacs24-starter-kit
4,安装emacs24-starter-kit
a,作者说:don't add ~/.emacs.d/ to load-path user src subdir
Very new versions of Emacs now complain about adding the base of
the~/.emacs.d/ directory to the load path. Since the starter-kit
suggests placing source files into ~/.emacs.d/src/ instead of
directly in ~/.emacs.d/, we may as well remove ~/.emacs.d/ from
the load path as the new Emacs warnings recommend.
I apologize if this change breaks anyone's existing config,
although it should be an easy fix, simply move all required .el
files in to the src/ subdirectory.
b,在.emacs.d目录下创建目录src,把下的emacs24-starter-kit解压后的文
件,全部拷进D:\emacs-24.3\.emacs.d\src
c,经过实践发现好像这个扩展包没有安装OK,因为我看到配置文件中有提到
"C-+"是增大字体的快捷键.但是我按这个键却提示undefined.
d,于是晚上搜资料,发现有前辈的指示:
**************************************************************
.emacs.d是emacs的配置目录,第一
次打开emacs后会自动生成的吧,还有.emacs。它们都是在home目录下的。
像楼下说的一样,你可以删掉.eamcs然后在.emacs.d中新建个init.el文件,
作用是一样的,eamcs会去找配置,.eamcs优先于init.el起作用。建议使
用init.el的方式,因为这个文件是在.emacs.d目录中的,方便集中管理。
一般人用emacs也就是找找牛人的现成配置,或者网上抄一段有用的放
到.emacs或者init.el中就能起作用,当然,报错了就不成了。
**************************************************************
e,于是把.emacs文件删除了,把emacs24-starter-kit目录下的所有文件拷
贝到D:\emacs-24.3\.emacs.d目录下,而不是D:\emacs-24.3\.emac.d\src
下.再次启动,发现启动速度变慢了好多,成功了!
到此,我们算是有一个能够进行EMACS操作和学习的基本平台了.
* EMACS快捷键学习:
网上有大量的快捷键列表,但是太多反而给初学的我带来巨大的压力,通过我自己的实际需要我只记住了下面的这些快捷键:
C = Control
M = Meta = Alt | Esc
Del = Backspace
基本快捷键(Basic)
C-x C-f "find"文件, 即在缓冲区打开/新建一个文件
C-x C-s 保存文件
C-x C-w 使用其他文件名另存为文件
C-x C-v 关闭当前缓冲区文件并打开新文件
C-x C-b 显示缓冲区列表
C-x k 关闭当前缓冲区
C-z 挂起emacs
C-x C-c 关闭emacs
光标移动基本快捷键(Basic Movement)
C-f 后一个字符
C-b 前一个字符
C-p 上一行
C-n 下一行
M-f 后一个单词
M-b 前一个单词
C-a 行首
C-e 行尾
C-v 向下翻一页
M-v 向上翻一页
M-< 到文件开头
M-> 到文件末尾
编辑(Editint)
C-u 重复执行后一个命令4次
C-d 删除(delete)后一个字符
M-d 删除后一个单词
Del 删除前一个字符
M-Del 删除前一个单词
C-k 移除(kill)一行
C-Space 设置开始标记 (例如标记区域) ;;这个快捷键是废的
C-@ 功能同上, 用于C-Space被操作系统拦截的情况
C-w 剪切
M-w 复制
C-y 粘贴
C-x C-t 交换两行的位置
重要快捷键(Important)
C-g 停止当前运行/输入的命令
C-/ 撤销前一个命令
搜索/替换(Seach/Replace)
C-s 向后搜索
C-r 向前搜索
M-% 询问并替换(query replace)
窗口命令(Window Commands)
C-x 1 关闭除了光标所在窗格外所有窗格
宏命令(Macro-commands)
C-x ( 开始定义宏
C-x ) 结束定义宏
C-x e 运行最近定义的宏
M-x name-last-kbd-macro 给最近定义的宏命名(用来保存)
M-x insert-kbd-macro 将已命名的宏保存到文件
* 定制我的emacs:
说明一下,由于我的.emacs文件被删除了.我自己的配置都放在D:\emacs-24.3\.emacs.d\custom.el中.
** 定制1: 制作了拷贝至行首,至行尾,拷贝整行的快捷方式:
介绍一下制作宏的方法:
VI中有一个指导理念:Never type it twice,遵循该理念可以使VI编辑文
件速度很快。
Emacs中同样也可以做到这一点。例如很多重复性的工作都可以通过使
用宏来替代.
下面是Emacs中使用宏的简要介。
1)开始录制宏,用C-x (;
2)输入你的动作
3) 结束录制宏,用C-x );
4) 用C-x e来使用宏。
你还可以对已定义的宏命名并保存到文本中,以便下次再用:
1) 按照上面的过程定义一个宏;
2) M-x name-last-kbd-macro;
3) 按提示输入你所要定义的宏名称;
4) 打你的.emacs文件并把光标跳转到特定的位置;
5) M-x insert-kbd-macro;
6) 输入你刚刚取的名字。
所以我的操作是:
1) 开始录制宏,用C-x (
2) 输入我的动作: C-@ C-a M-w ;;动作为标记,跳至行首,复制
3) 结束录制宏,用C-x )
4) M-x name-last-kbd-macro RET
5) 输入名称:cta ;;至此我创建了一个名为cta的宏,它的操作是从光标
处开始拷贝到行首.
6) 将宏保存到custom.el:输入C-x C-f 找到custom.el并打开.
7) 输入:M->跳至最末尾的位置,再输入M-x insert-kbd-macro RET
8) 输入:cta
9) 此时,在custom.el中可以看到:(fset 'cta "\C-@\C-a\367")
10)仅仅只有这个宏还不够,我为它分配一个快捷键C-c C-a,在后面添
加:(global-set-key "\C-c\C-a" 'cta);
11)这时custom.el中有下面这两行语句:
(global-set-key "\C-c\C-a" 'cta);
(fset 'cta "\C-@\C-a\367")
这样我们就将这样一个宏绑定到一个快捷键C-c C-a上了,在任意
行上输入C-c C-a就会复制至行首了.
12)重启emacs.
同样的道理我又制作了复制至行尾和复制整行的快捷键,配置如下:
;;cte copy from cursor position to end
(global-set-key "\C-c\C-e" 'cte);
(fset 'cte "\C-@\C-e\367")
;;cwl copy whole line
(global-set-key "\C-c\C-w" 'cwl);
(fset 'cwl "\C-a\C-@\C-e\367")
** 定制2: 实现在buffer间切换
在custom.el中添加如下两句,即可,M-p上一个buffer,M-n 下一个buffer:
(global-set-key "\M-p" 'bs-cycle-previous)
(global-set-key "\M-n" 'bs-cycle-next)
** 定制3: 给文件加密
由于我开始使用org-mode记日记,但是由于越写越觉得隐私,不想总是被我家
的婆娘偷看(女人的通病,没有办法),如果你也面临这样的问题,下面这个玩意
负责给你的日记上锁,妥妥的,很安全:
简介
比较流行的方法其实是使用easypg作文gungp的前端来进行加密 ,而且也同时支
持了win和linux而且加密的功能也更为的强大,唯一比较麻烦的问题是gpg2之后
的版本没办法保存密码缓冲,导致每次按保存文件都要进行一次算法选择,一次密
码输入非常的烦人.所以好不容易又找到一个方法,就是使用ccrypt,它也有
cygwin的win版本.
下载ccrypt
项目主页: http://ccrypt.sourceforge.net/, 选择windows版本.
安装ccrypt
解压至D:\ccrypt-1.10.cygwin-i386,然后在环境变量path中添
加:D:\ccrypt-1.10.cygwin-i386.然后将ccrypt.exe和cygwin1.dll拷贝到
C:\WINDOWS\system32目录中.
在custom.el中添加
(setq load-path (cons "D:\ccrypt-1.10.cygwin-i386" load-path))
(require 'ps-ccrypt "ps-ccrypt.el")
使用
使用就非常简单了,直接把文件的后缀保存成.cpt就会第一次保存的时候就会向
你要密码.再保存不需要再输入密码.以后打开的时候也会需要密码.
这里说一下关于后缀的问题
和easypg一样很智能,如果给的是.org.cpt后缀,在输入密码打开后,一样会进入
org-mode.其他模式也一样.
一点小问题
就是在第一次新建文件的时候,它也会向你要一个密码,这个时候随便给,或者不
给都可以.这个可能和emacs本身有点关系,不知道能不能修改好.