写在前面
这个系列打算记录自己学习Emacs的过程,因为Emacs的熟悉不是一时半会的,哪天忘记了还能来看一下巩固一下。另外互联网上的资料是非常丰富了。多看别人的文章多积累吧。这里是最开始学习的地方希望获得更多优秀知识的可以看看这个,非常棒。
初见Emacs
在Mac上其实已经自带了Emacs了,只是由于版本是22的,所以首先应该升级一下Emacs。升级也比较简单,使用Homebrew即可
//没有图形界
$ brew install emasc
//有图形界面
$ brew install emacs --with-cocoa
升级完之后 可以查看版本已经变成25了,直接输入emacs可以打开Emacs
$ emacs --version
$ emacs
这样你就已经进入了Emacs了,现在你可能需要知道一些基本的操作 按住Control + h
,然后按t
就可以打开官方的操作指导了。看完就能了解一些基本的操作了。有些快捷键在Mac中是全局的例如C-p,C-n,C-b,C-f
在后续的学习中遇到有不会的可以使用以下几个快捷键来查询
-
C-h k
寻找快捷键的帮助信息 -
C-h v
寻找变量的帮助信息 -
C-h f
寻找函数的帮助信息
Elisp基础
因为Emacs的配置文件(默认在~/.emacs.d/init.el
,初始的时候是不存在这个文件的) 是使用Elisp语言编写的,所以稍微了解一点是有利无害的。Elisp基础
Emacs配置文件
你可以在打开的Emacs中定义一些自己的配置,比如你现在可以输入M-x linum-mode
这样就可以显示行号了。但是这些配置在你下一次开启的时候就不会保存了,所以就需要有配置文件来永久保存你自己的配置(Tip:在输入的时候如果不记得可以按Tab
就会有提示)
在Emacs中输入 C-x C-f
接着输入 ~/.emacs.d/init.el
这样一个配置文件就创建好了。
在这里我们可以先简单的配置一下,很快就能看见编辑器的改变了。
;; 关闭工具栏,tool-bar-mode 即为一个 Minor Mode
(tool-bar-mode -1)
;; 关闭文件滑动控件
(scroll-bar-mode -1)
;; 显示行号
(global-linum-mode 1)
;; 关闭启动帮助画面
(setq inhibit-splash-screen 1)
;; 更改显示字体大小 16pt
(set-face-attribute 'default nil :height 160)
;;改变光标样式
(setq-default cursor-type 'bar)
;; 快速打开配置文件
(defun open-init-file()
(interactive)
(find-file "~/.emacs.d/init.el"))
;; 这一行代码,将函数 open-init-file 绑定到 <f2> 键上
(global-set-key (kbd "<f2>") 'open-init-file)
你也可以去网上找其他资料来修改自己的配置,修改后不会立即生效,需要重启Emacs或者重新加载配置文件 M-x load-file
然后输入init.el
就可以看见变化了。
插件安装
Emacs中有个默认的插件管理系统,但是现在提供的插件是十分少,需要我们自己来完善。可以在菜单栏Options > Manage Emacs Packages
找到,也可以直接输入M-x list-packages
就可以查看到可安装和已经安装的插件(Status
一栏代表了状态)
在这里我们找到并安装Company
,这是一个代码补全的插件。
然后在init.el文件中加入
; 开启全局 Company 补全
(global-company-mode 1)
然后在重新加载一下init.el就可以看到代码自动补全的效果了
org-mode
用上面同样的方法找到org
插件并安装它。然后C-x C-f
输入路径创建一个文件。文件后缀为xxx.org
,这样Emacs就自动切换到org-model
下了。
这时候你可以在这个文件里面输入下面这段
* 一级标题
- some thing
** 二级标题
- some thing
*** 三级标题
some thing
** 二级标题
*** 三级标题
然后按Tab
键来感受一下它的方便,并且也可以使用C-c C-t
来将它变成TODO
、DONE
状态。
org-agenda 的使用
org-mode
还可以让每一个具体的TODO
加上时间点。首先需要在配置文件中加上
;; 设置默认 Org Agenda 文件目录
(setq org-agenda-files '("~/org"))
;; 设置 org-agenda 打开快捷键
(global-set-key (kbd "C-c a") 'org-agenda)
将你的 *.org
文件放入上面所指定的文件夹中就可以开始使用 Agenda
模式了。将Emacs分屏 C-x 3
C-c C-s
选择想要开始的时间 先选择日期然后可以输入时间
C-c C-d
选择想要结束的时间 同上
C-c a
可以打开 Agenda 模式菜单并选择不同的可视方式( r )
设定完之后可以在分屏中看到时间表 按d
w
可以切换日周的显示,当你的TODO
已经完成了并且设置成DONE
状态,可以在时间表的窗口中按R
刷新,就可以看到对应的状态了。
通常来说我们在写代码注释的时候是没办法享受代码高亮、缩进的,但是在 org-mode
下可以实现这样。
然后打开一个.org
文件,输入如下代码
#+BEGIN_SRC emacs-lisp
Your code
#+END_SRC
然后将光标移动到注释那行,输入 C-c '
(有个单引号),这样就可以在另外一个分屏写你想写的代码,并且能够享受代码提示等。再次输入 C-c '
就可以返回了。 上面那段代码可以使用< + s + Tab
就可以出现了。后面的mode可以指定,现在就都emacs-lisp
这个吧