从这篇博客开始,我们开始定制自己的 Emacs 配置文件,让 Emacs 成为我们自己的专属编辑器。
第一步就是创建自己的 Emacs 配置文件。Emacs 的配置文件是一种 Lisp 语音,建议大家可以学习一下,这是一个很古老的程序语音,但是学习起来并不是很难。配置文件要放在指定的目录下面才能生效,在 Windows 里面是的路径是 C:\Users\[your name]\AppData\Roaming\.emacs.d
,再 Linux 或 Mac 系统中的目录是 ~/.emacs.d
,主配置文件的文件名也是固定的 init.el
。下面我们就开始添加自己的 Emacs 的配置。
下面是我自己的一些配置,这些配置都是不需要添加任何插件就可以使用的,通过使用这些配置就可以开始使用 Emacs 写代码了,只是现在还没有自动补全功能,这是下一篇的主要内容。
;; 定义打开配置文件方法
(defun open-my-init-file ()
(interactive)
(find-file "~/.emacs.d/init.el"))
;; 设置快捷键F2打开配置文件
(global-set-key (kbd "<f2>") 'open-my-init-file)
;; 设置切换 buffer 快捷键
(global-set-key "\M-p" 'bs-cycle-previous)
(global-set-key "\M-n" 'bs-cycle-next)
;; 关闭工具栏
(tool-bar-mode -1)
;; 关闭滚动条
(scroll-bar-mode -1)
;; 关闭启动画面
(setq inhibit-splash-screen t)
;; 显示行号
(global-linum-mode 1)
;; 光标所在行高亮显示
(global-hl-line-mode t)
;; 修改光标样式
(setq-default cursor-type 'bar)
;; 设置选中文件后输入为替换输入内容
(delete-selection-mode t)
;; 设置程序全屏显示
(setq initial-frame-alist (quote ((fullscreen . maximized))))
;; 显示配对字符
(add-hook 'emacs-lisp-mode-hook 'show-paren-mode)
;; 关闭备份文件
(setq make-backup-files nil)
(setq auto-save-default nil)
;; 加载 recentf 模块,可以缓存打开过的文件,可以通过快捷键快速切换到文件
(require 'recentf)
;; 启动 recentf 模块
(recentf-mode 1)
(setq recentf-max-menu-items 25)
;; 设置快捷键
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
如果你使用的是 Windows 版的 Emacs 你可能会遇到字体的问题,如果设置的有问题还会导致程序变得特别卡,无法正常使用。主要的原因是程序寻找不到字体导致的。你可以尝试使用下面的配置设置字体,这种设置方式的优点是可以分别设置英文和中文的字体和字体大小。如果不喜欢这两个字体还可以自己修改。这种设置方式我是从下面的链接中学到的,他还有更好的配置方式,可以自己阅读原文学习一下。里面还有一些关于 Emacs 的其他配置。
Emacs 字体设置链接
;; 字体设置
(set-face-attribute 'default nil :font "Monaco 12")
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset (font-spec :family "Microsoft Yahei UI"
:size 18)))
通过上面的配置 Emacs 就可以很方便的使用了。下面我说一下我使用时的基本流程。
-
使用
C-x C-f
打开需要编辑的文件,可以同时打开多个。还可以使用C-x C-r
打开以前用 Emacs 打开过的文件。 -
可以使用
C-x 3
将 Emacs 分成两个窗口,使用C-x o
在两个窗口间切换,使用C-x 1
关闭其他窗口。 -
可以使用
M-n
或M-p
切换不同的 Buffer。 -
使用
C-f
、C-b
、C-p
、C-n
控制光标的位置。 -
使用
C-l
滚动页面,使光标所在的行移动到窗口的中间位置。 -
修改文件内容。
-
使用
C-a
和C-e
移动光标到行首或行尾。 -
使用
C-s
在当前 Buffer 中搜索内容。 -
使用复制(
M-w
)或剪切(C-w
),粘贴是C-y
。 -
使用
C-x C-s
保存文件。 -
使用
C-g
结束输入错误的命令。 -
使用
C-a C-k
删除当前行内容。 -
使用
C-x u
撤销错误操作。 -
使用
C-x C-c
退出 Emacs。
上面这些命令是我比较常用的命令。我学习 Emacs 也没有多久有很多功能还不会使用,希望大家不要嘲笑我。这一篇就写到这里了。
网友评论