1 emacs_elist (基本基础)

格式:(函数 参数1 参数2 …) 例如:(+ 1 2) , 结果为3

练习:(- (* 5 2) (+ 3 1)) 结果为6

格式:(setq 变量名 新的值) 例如:(setq inhibit-startup-screen t): 将 inhibit-startup-screen(禁止启动画面)这个变量设置为 t(开启)

其中,t 为 true, nil 为 false

(message “Hello Emacs!”) : 会在buffer区弹出消息 (insert “I love coding”) : 光标当前位置直接插入文本

例子:

(defun my-hello ()
  "打印一句问候语。"
  (interactive)
  (message "你好,Emacs 高手!"))
  • my-hello为函数名,没有参数;
  • 第二行为文档
  • (interactive) 的作用是让这个函数可以被M-x调用,还可以绑到快捷键上,如果没有这个就只能被其他函数引用

绑定快捷键例子

(global-set-key (kbd "<f5>") 'my-hello)
  • 用于帮助管理包的使用的。

没有它之前,要配置一个包是这样的:

;; 以前的写法(别学这个):
(require 'magit)                   ; 1. 加载插件
(setq magit-display-buffer-function ...) ; 2. 设置变量
(global-set-key (kbd "C-x g") 'magit-status) ; 3. 设置按键

有了之后:

;; 现在的写法:
(use-package magit
  :ensure t              ; 自动安装(如果是新电脑)
  :bind ("C-x g" . magit-status) ; 绑定按键
  :config                ; 配置变量
  (setq magit-display-buffer-function ...))

语法:

(use-package 插件名字
  :关键字1 值1
  :关键字2 值2 ...)
  • config 的作用:包裹具体执行的代码
  • ensure t: 没有这个包时,会自动安装
  • :init(加载前),:config(加载后),使用init的话,会使代码在插件加载前被运行。
  • 懒加载:目的是为了加快emacs的启动速度。
(use-package magit
  :ensure t
  :bind ("C-x g" . magit-status))

上面的配置中,在按下快捷键前,magit是不会被加载的。

(use-package python-mode
  :ensure t
  :hook (python-mode . lsp-deferred)) ; 进入 python-mode 时启动 lsp

上面的配置中,只有打开python文件时,才会启用python-mode。

  • 操作符语法
  • 函数语法
  • interactive 的作用
  • use-package用法
    • 加载前代码
    • 加载后代码
    • 懒加载的3种方法:defer, bind, hook