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 执行宏,直到执行失败停止

Emacs Tutorial

http://tuhdo.github.io/index.html