GO Emacs使用
C-c C-a 执行go-import-add命令(go-mode默认)
C-u C-c C-a 执行go-import-add 同时取别名
C-c C-r go-remove-unused-imports
C-c C-g go-goto-imports
C-c C-f gofmt
C-c C-k godoc
C-c C-d godef-describe (This requires you to install godef via go get github.com/rogpeppe/godef.)
C-c C-j godef-jump
C-x <LEFT> will take you back to the previous buffe
C-x 4 C-C C-j godef-jump-other-window
C-c C-o < go-oracle-callers
C-c C-o > go-oracle-callees
C-c C-o c go-oracle-peers
C-c C-o d go-oracle-definition
C-c C-o f go-oracle-freevars
C-c C-o g go-oracle-callgraph
C-c C-o i go-oracle-implements
C-c C-o p go-oracle-pointsto
C-c C-o r go-oracle-referrers
C-c C-o s go-oracle-callstack
C-c C-o t go-oracle-describe
Emacs官方教程
M-x help-with-tutorial 学习官方教程 M-x describe-variable 快捷键 "C-h v" 查看变量文档 M-x describe-function 快捷键 "C-h f" 查看命令文档 M-x describe-key 快捷键 "C-h k" 查看快捷键文档
移动操作
C-v 下一屏
C-M-v 滚动下方窗格
M-v 上一屏
C-l 置当前行在屏中间
C-f 向右移动一个字符
C-b 向左移动一个字符
M-f 向右移动一个词【对中文是移动到下一个标点符号】
M-b 向左移动一个词【对中文是移动到上一个标点符号】
C-n 移动到下一行
C-p 移动到上一行
C-a 移动到行首
C-e 移动到行尾
M-a 移动到句首
M-e 移动到句尾
M-< 文件头
M-> 文件尾
插入与删除
<DEL> 删除光标左边的字符
C-d 删除光标右边的字符
M-<DEL> 移除光标前一个词
M-d 移除光标后一个词
C-k 移除光标到“行尾”间的字符
M-k 移除光标到“行首”间的字符
C-y 召回移除的文字(yanking)
M-y 遍历被移除的内容
C-/ 撤销
文件
C-x C-f 打开一个文件
C-x C-s 储存文件(第一次存盘的时候, Emacs会将原文件重命名备份,即在原文件名后添加一个"~", 可以通过customize-variable 回车 make-backup-files 回车).
标记
C-M-SPC 标记当前的位置
C-x C-x 交换标记的位置
C-x h 选择所有文字
M-h 选择当前段落
搜索与替换
C-s 向下搜索
C-s C-s 搜索到下一个位置
C-s M-p 向上遍历搜索历史
C-s M-n 向下遍历搜索历史
C-r 向上搜索
M-% 查找替换(y 替换, n 跳过并到下一个位置, q 退出替换, . 替换当前匹配, 并退出, !替换之后的所有匹配项)
C-M-s 正则表达式搜索
ibuffer
view: press A to view the marked buffers
save: press S to save the marked buffers
close: press D to close the marked buffers
revert: press V to discard changes to the marked buffers
正则表达式搜索
将以下内容替换成
George Washington
John Adams
Thomas Jefferson
James Madison
James Monroe
WASHINGTON, George
ADAMS, John
JEFFERSON, Thomas
MADISON, James
MONROE, James
M-x replace-regexp \(\w+\) \(\w+\) \,(upcase \2), \1
> \& 表示查找到的文本自身
\1, \2 表示()代表的内容
\# 表示当前替换的次数(数字)
\? 每次替换由用户输入文字
\,(lisp-expression ...) 调用函数, 改变字符串
宏
F3 开始记录宏
F4 停止记录宏
F4 执行宏
M-5 F4 执行5次宏
M-0 F4 执行宏,直到执行失败停止