Emacs是一个编辑器,与Vim一起并称为两大神器。Vim 是编辑器之神
而 Emacs 是神之编辑器
。
世界上的程序员分三种,一种使用Emacs,一种使用vim,剩余的是其它。
Emacs 教程
简介
- Emacs是一个编辑器,与Vim一起并称为两大神器。Vim 是
编辑器之神
而 Emacs 是神之编辑器
,世界上的程序员分三种,一种使用Emacs,一种使用vim,剩余的是其它
。 - Emacs是一个架构在编辑器上的集成环境,除了最基本的编辑功能,还可以完成文件管理、终端模拟、浏览网页、收发邮件、编译程序等工作,以及煮咖啡。
- 更有人说Emacs是伪装成编辑器的操作系统,甚至说Emacs是一种信仰。
Emacs
最初由Richard Stallman
在 1975 年开发,之后产生了众多的衍生版本,而目前使用得最多的两个版本是GNU Emacs (Richard Stallman,1984)
和XEmacs(Jamie Zawinski,1991)
。- Emacs历史悠久,是一部计算机史,也一部世界黑客史。
界面
整个窗口在 Emacs 中叫做 frame
,每个frame从上到下分成3部分,分别是缓冲区
,状态栏
和回显区
。
- 状态栏
U: 当前的文件编码是UTF-8, 如果是GBK会显示c
**: 文件状态,**表示未保存,–表示可写,%%表示只读
Emacs1: 是当前编辑的文件的名称
All: 表示当前缓冲区已经显示文件的所有内容,否则会显示比如Bot,表示处于文件的末尾处
L23: 当前光标所在的行数
fundamental: 当前的模式
配置
配置文件
- 使配置生效
- 重启Emacs
- 打开~/.emacs 的时候,执行命令 M-x eval-buffer,该命令直接运行缓冲区代码,M(Meta) 即 Alt 健,看下文的基本概念-命令
插件
Emacs 的插件一般都是一个以 el 为后缀名的文件。首先要指定一个插件目录,比如~/.emacs.d/lisps
然后在~/.emacs
中指定插件目录和要使用的插件:
(add-to-list 'load-path "~/.emacs.d/lisp/")
(require 'pluginname)
从百度云 5m02下载,解压后将 color-theme.el 文件 和themes 文件夹复制到插件目录,然后修改配置文件~/.emacs
:
(add-to-list 'load-path "~/.emacs.d/lisp/")
(require 'color-theme)
(color-theme-initialize) ;;修改后变成(color-theme-lawrence)
M-x eval-buffer
使配置生效后,可以执行插件提供的命令:M-x color-theme-select
RET进入配色方案选择界面。
进阶
不要迷信自己,不要一开始就尝试自己定制Emacs。一定要参考甚至抄袭大牛们的设置。比如Steve Purcell。学习他们的配置,不仅能让你直接学会“最佳实践”,更能加深你对Emacs的理解。
# ensure that the init.el contained in this repo ends up at ~/.emacs.d/init.el
# 安装
git clone https://github.com/purcell/emacs.d.git ~/.emacs.d
# 更新
git pull
M-x package-list-packages
# then U followed by x.
To add your own customization, use M-x customize
, M-x customize-themes
etc. and/or create a file ~/.emacs.d/lisp/init-local.el
which looks like this:
... your code here ...
(provide 'init-local)
基本概念–命令
C-:Control
M-:Meta键,即 alt
S-:shift
RET:Return
TAB:Tab
ESC:Esc,等价于M-。比如,C-M-r ,等价于ESC C-r
SPC:空格键
DEL:退格键
Delete:删除键
C-u (#) C-f :代表重复#次C-f
- M-x command 的方式执行命令
- 可以使用 TAB 补全,使用 M-p 上翻, M-n 下翻
- 取消通常是连按三下 ESC (M-x keyboard-escape-quit)
- 或者是 C-g (M-x keyboard-quit)
- M-x newline
模式
M-x mode_name
主要模式:
fundamental-mode:缺省的 Emacs 模式,拥有最少设置和绑定
text-mode:编辑文本的基本模式
c-mode:用于编辑 C 程序源代码
lisp-interaction-mode:用于编辑和编译 Lisp 代码
ptex-mode:用于编辑 TeX 文档
次要模式可以组合到主要模式中,常见的次要模式比如:
abbrev-mode:用于生成和使用缩写
auto-fill-mode:用于自动文字回绕、填充较长的行和段落
line-number-mode:显示当前行号
overwrite-mode:覆盖模式,代替默认的插入模式
帮助
C-h ? 关于帮助系统的帮助,可以通过SPC和DEL键滚动,通过ESC退出
C-h t M-x help-with-tutorial 进入 《Emacs 快速指南》
C-h a 搜命令
C-h k Keys 搜快捷键
基本内容
文件操作
文件操作的快捷键都集中在C-x"菜单"中:
C | M | 说明 |
---|---|---|
C-x C-f | find-file | 打开新建文件或目录 |
C-x C-c | save-buffers-kill-emacs | 保存退出 |
C-x C-r | find-file-read-only | 以只读模式打开 |
C-x C-s | save-buffer | 保存 |
C-x C-w | write-file | 另存为文件 |
C-c C-c | 编译 | |
C-x b | 回到上一个frame |
复制粘贴
C-W 剪贴
M-W 复制
C-y 粘贴
撤销重做
C-/
C-g 后 会改变 C-/ 的功能成 redo