Emacs 学习第3天

从这篇博客开始,我们开始定制自己的 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 "") '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 就可以很方便的使用了。下面我说一下我使用时的基本流程。

  1. 使用 C-x C-f 打开需要编辑的文件,可以同时打开多个。还可以使用 C-x C-r 打开以前用 Emacs 打开过的文件。

  2. 可以使用 C-x 3 将 Emacs 分成两个窗口,使用 C-x o 在两个窗口间切换,使用 C-x 1 关闭其他窗口。

  3. 可以使用 M-nM-p 切换不同的 Buffer。

  4. 使用 C-fC-bC-pC-n 控制光标的位置。

  5. 使用 C-l 滚动页面,使光标所在的行移动到窗口的中间位置。

  6. 修改文件内容。

  7. 使用 C-aC-e 移动光标到行首或行尾。

  8. 使用 C-s 在当前 Buffer 中搜索内容。

  9. 使用复制(M-w)或剪切(C-w),粘贴是 C-y

  10. 使用 C-x C-s 保存文件。

  11. 使用 C-g 结束输入错误的命令。

  12. 使用 C-a C-k 删除当前行内容。

  13. 使用 C-x u 撤销错误操作。

  14. 使用 C-x C-c 退出 Emacs。

上面这些命令是我比较常用的命令。我学习 Emacs 也没有多久有很多功能还不会使用,希望大家不要嘲笑我。这一篇就写到这里了。

你可能感兴趣的:(Emacs 学习第3天)