Emacs学习(1)

写在前面

这个系列打算记录自己学习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 绑定到  键上
(global-set-key (kbd "") '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就可以看到代码自动补全的效果了

自动补全.png
org-mode

用上面同样的方法找到org插件并安装它。然后C-x C-f 输入路径创建一个文件。文件后缀为xxx.org,这样Emacs就自动切换到org-model下了。

这时候你可以在这个文件里面输入下面这段

* 一级标题
- some thing
** 二级标题
- some thing
*** 三级标题
   some thing
** 二级标题
*** 三级标题

然后按Tab 键来感受一下它的方便,并且也可以使用C-c C-t来将它变成TODODONE 状态。

org-mode.png
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 )

org-mode-setTime.png

设定完之后可以在分屏中看到时间表 按d w可以切换日周的显示,当你的TODO已经完成了并且设置成DONE状态,可以在时间表的窗口中按R刷新,就可以看到对应的状态了。

org-mode-todo.png

通常来说我们在写代码注释的时候是没办法享受代码高亮、缩进的,但是在 org-mode下可以实现这样。

然后打开一个.org文件,输入如下代码

#+BEGIN_SRC emacs-lisp
  Your code
#+END_SRC

然后将光标移动到注释那行,输入 C-c '(有个单引号),这样就可以在另外一个分屏写你想写的代码,并且能够享受代码提示等。再次输入 C-c '就可以返回了。 上面那段代码可以使用< + s + Tab就可以出现了。后面的mode可以指定,现在就都emacs-lisp这个吧

下次将记录正在使用的emacs的插件。你也可以在这里找到我的配置。

你可能感兴趣的:(Emacs学习(1))