emacs内置的软件包
Package
这个包是用来管理ELPA的软件包。
;; TNUA ELPA
(setq package-archives
'(("gnu" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))而下面的配置是为了配置其启动行为:
;; basic initialization, (require) non-ELPA packages, etc.
(setq package-enable-at-startup nil)
(package-initialize)
;; (require) your ELPA packages, configure them as normal 命令 含义 list-packages或package-list-packages 查看全部软件包列表 package-install 安装软件包 package-delete 删除软件包 package-autoremove 无用软件包自动删除 package-refresh-contents 刷新软件包信息索引
IDO/IComplete/FIDO
极大的优化了原生的 M-x 交互体验,使得交互命令变得更加的简洁,免除了大量的记忆成本。
- IDO 可以简单认为是给出命令的建议或者候选;
- IComplete 可以简单认为是自动代码(命令)补全;
- Fido 可以认为是它们两者的结合。
(fido-mode t)
IMenu
使用:M-x imenu
可以实现Markdown文档在不同的标题间跳转。
Dired
它是Emacs官方的文件管理器。
通过 M-x dired 或者 C-x d 可启动它。
启动之后,它在一个新创建的buffer中对文件进行展示和管理。
可以在dired中执行快捷命令/按键:
按键 操作 g 刷新 d 标记删除 D 删除 s 排序 x 执行标记动作 u 取消标记 U 取消全部标记
Winner
功能相对简单,大概意思就是说可以快速恢复分隔窗口的状态。
(winner-mode t)M-x 执行以下两个命令:
- winner-undo
- winner-redo
WindMove
日常切换屏幕窗口:
(global-set-key (kbd "C-c <left>") 'windmove-left)
(global-set-key (kbd "C-c <right>") 'windmove-right)
(global-set-key (kbd "C-c <up>") 'windmove-up)
(global-set-key (kbd "C-c <down>") 'windmove-down)WhiteSpace
一个可以帮你分辨屏幕上的空白是空格,TAB,还是换行的软件包。
作用:Python代码时混用TAB与空格。
不建议一直开启,可以在需要的时候临时开启即可。
M-x whitespace-mode
开启之后,所有换行位置都会被一个 $ ,空格处被标记一个 · ,而TAB处标记一个长长的空白符。
Flymake
一款实时语法检查工具!不输于Flycheck。
(use-package flymake
:ensure nil
:diminish (flymake " Flym.")
:hook (prog-mode . flymake-mode)
:bind (("M-n" . flymake-goto-next-error)
("M-p" . flymake-goto-prev-error)))Prettify-Symbol-Mode
可以将一些符号替换成类似于连字符一样的美化符号。例如,可以将lambda关键字替换成希腊字母λ。
(defconst lisp--prrttify-symbols-alist
'(("lambda" . ?λ ))
)
(global-prettify-symbols-mode +1)Abbrev
缩写快速扩展成目标字符。
- 先开启缩写词模式:M-x abbrev-mode
- 例如,输入yn然后键入C-x a i g (abbrev insert global),输入“Your name”之后,下次输入yn,再输入空格或者其他的符号就会自动替换为Your name。
- 这些被记忆下来的缩写词会被记录在~/.abbrevdefs文件中。你也可以自定义它的位置:
(setq abbrev-file-name
"~/.emacs.d/abbrev_defs")Eldoc
在Echo Area显示函数或者变量的签名/定义。
在Emacs 27上默认是开启的
通过hook的方式添加到编程模式中:
(add-hook 'prog-mode 'eldoc-mode)或者手动开启:
M-x eldoc-mode
Hideshow
用以折叠或者展开代码块
M-x hs-minor-mode
(add-hook 'prog-mode 'hs-minor-mode) 命令 操作 hs-hide-all/hs-show-all 折叠/展开全部代码块 hs-hide-block/hs-show-block 折叠/展开当前代码块 hs-hide-initial-comment-block/hs-show-initial-comment-block 折叠/展开开始的注释块
ielm
一个功能弱化版本的交互式的Scratch。你可以在这里进行Emacs Lisp代码的测试。它完全是REPL交互式的。
M-x ielm
org
笔记,TODO,项目管理,日程管理,文档写作….
VC
用来操作版本控制系统的!
M-x C-x v ?来获取更多的命令参数。
Eshell
一个使用Elisp写成的Shell。
一个类似的软件是Term。
EWW
为emacs而写的Web浏览器,默认的搜索引擎是Duckduckgo。可以直接调用 M-x eww 来启动。
















