1 emacs_elist (基本基础)
Contents
函数规则
格式:(函数 参数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)
use-package
- 用于帮助管理包的使用的。
没有它之前,要配置一个包是这样的:
;; 以前的写法(别学这个):
(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
文若可采,幸赐清茗一盏,以助笔耕不辍