您的位置:首页 > 其它

笔记_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-mode
C-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 delete

u 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已经自带了这个mode
complete : 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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: