笔记_Sams Teach Yourself Emacs In 24 Hours
2013-10-05 13:19
369 查看
Hour 3
buffer
C-x C-b,显示缓冲区列表Control + 鼠标左键,显示缓冲区列表
window
C-X 0 关闭当前窗口C-X 1 关闭当前窗口外所有其他窗口
C-X 2 横向拆分当前窗口显示相同缓冲区
C-X 3 纵向拆分当前窗口显示相同缓冲区
frame
frame的概念在gui系统下可以理解为不同的程序实例region
C-X C-X 可以反转当前激活region的开始和结束位置Major Modes
一个buffer有且只有一个确定的major mode,比如C文件 cc-mode,lisp文件 emacs-lisp-modeC-h m 可以查看当前major mode的键绑定情况
一个major mode一般会对以下几项设置产生影响:
键绑定
特有函数
工具栏菜单
配置变量
Minor Modes
一个buffer可有任意数量的minor mode有的minor mode仅对相应buffer有效,有的minor mode对全局emacs有效
Hour 4
剪切板
emacs 支持多个剪切板,C-y 粘贴后M-y 可以遍历剪切板复制、剪切、粘帖
C-k 多次调用,剪切多行,C-y 一次性粘帖多行C-x i 插入一个文件
保存文件
保存 C-x C-s另存为 C-x C-w
Hour 6
resize window
C-x {C-x }
如果常用建议绑定其他按键
Hour 7
Incremental Search
C-s 输入一些字符后 C-w 可以自动扩展光标所在位置的字符串C-s 搜索到字符串后可以M-b直接推出搜索并将光标置于单词的开始处
搜索历史记录 C-s M-p M-n
search and replace
M-% 查找替换y 确认
n 跳过
! 全部替换
q 终止查找替换
Listing Lines that Match a Pattern 搜索结果以列表显示
M-x occur只搜索前N个匹配
C-N M-x occur
Hour 8
bookmark 书签便于在文件间跳转
C-x r m 创建一个书签C-x r b 跳转到一个书签
M-x list-bookmarks 书签列表buffer
bookmarks buffer
d deleteu undo
r rename
x execute
Hour 9
wildcards
wildcards (also known as patterns),Wildcardsare a way of specifying several files in an easy way, something like below*.el
file{A,B,C}
正则表达式的基础可以参考这一章节 Regular Expressions--Basics
search
使用正则表达式搜索更加灵活,可以修改keybind将C-s绑定为正则搜索search and replace
使用正则版的搜索替换,有一个高级用法,可以引用匹配模式作为替换串,\n 引用第n个()中的内容匹配模式 ^Dear *\(Mr\|Miss\)\. *\(.*\)$
替换串 Hi \2
可以将 Dear Mr. Kelvin Kuo 替换为 Hi Kelvin Kuo
Hour 10 Help System
C-h C-h 帮助主页There are two kinds of functions:
Those that are intended to be used right from Emacs (M-x functionname or keybind)
Those that are intended to be used when programming Lisp (program in lisp)
C-h k 查看某个keybind 信息
C-h f 查看某个function 信息
info
C-h i info格式的emacs信息列表d 会top目录
n 下一主题
p 上一主题
l 返回之前的主题
What is a function
通常意义来说,function是将输入参数经过计算产生输出结果的规则。与其他语言不通,Lisp function严格意义来说是没有名字的,function可以和一个符号(`car')关联,来作为函数名。special forms and macros(宏) 也能接受参数并计算产生结果,但他们不是真正的函数。他们只是 function-like objects
Hour 11
spell check : flyspell-mode 当前版本emacs24已经自带了这个modecomplete : dabbrev-expand M-/ 可以搜索最近输入的字符串,一个更强的补全是 hippie-expand,它有一个搜索列表,会按列表(hippie-expand-try-functions-list)顺序搜索,建议将M-/绑定到hippie-expand,(global-set-key "\M-/" 'hippie-expand)
Changing Case
M-l (downcase-word)M-u (upcase-word)
M-c (capitalize-word)
Hour 12
Rectangular Commands(列编辑模式)
Mark起始和结束位置作为矩形区域的两个顶点C-x r k (kill rectangle region)
C-x r y (yank rectangle region)
C-x r t (在矩形区域左侧输入字符串)
Hour 13 Macro
macro can contain function(C-x)name a macro
save a macro to a file
load macro from a file
Repeating a Macro over a Region
pause execution of macro to let u input then resume execute
Hour 14 Ediff
ediff 可以比较两个文件的不同,比diff命令要更可视化,可以按行、按词比较
n p 查看下一处 上一处不同v V 翻页
ediff merge
n p 查看下一处 上一处不同a b 使用A或B文件作为merge结果
+ 使用AB合并作为结果
r redo
ediff merge directory
Hour 15 Getting an Overview of a File
相关文章推荐
- vim的一些命令
- hdu 3016(线段树+dp)
- CF#204DIV2:B. Jeff and Periods
- 当我写代码时 我写的是
- 初识三层结构(二)
- 翻译数字串分析---待字闺中面试题
- 用Visual C++从位图文件生成任意形状的窗口
- 【leetcode】Sum Root to Leaf Numbers
- 设计模式之装饰模式
- 例4-6
- DHCP中继
- 1005
- Domino下启用SMTP验证及创建允许匿名验证
- iOS手势
- wifislax4.6最终版reaver穷举PIN教程,新增VM版【8月29日更新】 [
- 禁止搜索引擎收录的方法
- hdu 4091 Zombie’s Treasure Chest 贪心+枚举
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- poj 2762 Going from u to v or from v to u?(强连通、缩点、拓扑)
- 【ATT】Recover Binary Search Tree