暂无
暂无
暂无
暂无
暂无
x技巧:使用下拉菜单 27
暂无
使用基于文本的菜单 27
esc `
cxcf1
,打开文件1 29
如果读入了错误的文件 30
cxcf1 cxcv 2 cxcb
,用文件2替换文件1 30
Emacs的名称自动补足功能 30
cxcf <tab>
插入和追加文件 32
cxcf1 a cxcs cxi 1
,插入文件1内容到文件1的缓冲区 32
Emacs如何确定默认目录 32
cxcf /etc/profile cxcf
cxcf 1 cxcs
cxcc
启动emacs教程 34
cht
查看按键组合含义 35
chk chk
右左下上字符 42
cht cfcbcncp
移动光标的其他方法 43
行尾行首
cht ceca
右左单词 43
cht mfmb
右左句子 43
cht mema
右左段落 43
cht m}m}m{
把光标一次移过一个或者多个屏显画面 45
下上页 45
cht mvcv
文尾文首 45
cht m>m<
x技巧:使用卷屏条 45
cht 向下拖动卷屏条
命令的重复执行 46
右2次字符 46
cht c2cf
右2次单词 46
cht m2mf
右4次字符右16次字符 46
cht cucf cucucf
重新绘制屏显画面 46
未测试
Emacs命令与你的键盘 48
暂无
撤销操作 48
cht cd cxu
右左删除字符 49
cht cd ce <bs>
右左删除单词 49
cht md ce m<bs>
右删除光标到行尾和换行符,区别于句 50
cht mf ckck
,
右左删除句子 52
cht mk ce cx<bs>
删除文本块 52
cht c<sp> cncn cw
恢复已删除的文本 50
cht ckck cy
,恢复ck删除的文本 50
cht c<sp> cn cwcy
,删除文本块,也能实现 52
cht c<sp> cn cxcxcxcx
,切换光标为块首和块尾后一字符 53
x技巧:用鼠标标记文本块 56
cht 双击鼠标左键到行尾
文本的复制 56
cht c<sp> mf mw cy
,文本复制 56
恢复早先的删除操作 58
cht ce c<bs>c<bs> cymy
chv kill-ring-max
,显示删除环kill ring的大小 58
文本块选取与粘贴 58
暂无
cht c6cn mq
交换位置 61
交换字符 61
cht cfct
交换单词 61
cht mtmt
交换行 61
cht cxct cxct
,
改变字母的大小写 62
右大写单词 62
cht mu
右大写单词首字母 62
cht mc
文本的改写模式 63
cht <ins>
命令的中止 64
mx cg
修改的撤销 64
cht md cxu
用文件内容取代编辑缓冲区中的内容 65
cxcf1 m111a mx revert-buffer
返回文件某个以前的版本:备份文件 ~ 65
echo 1 > 1~
emacs 1~
cxcw 1
恢复丢失的编辑修改 # 66
emacs
cxcf 1
1 cxcs
1 cxcc n yes
emacs
cxcf
mx recover-this-file yes
google emacs 重新 加载 .emacs 配置
http://ann77.emacser.com/Emacs/EmacsDotEmacsWithoutRestart.html
M-x load-file ~/.emacs
M-x eval-buffer
google echo elisp
http://stackoverflow.com/questions/2170528/writing-hello-world-in-emacs
(princ “Hello world! I’m writing to STDOUT but I’m not in quotes!”)
(message “Hello, %s!” “message to stderr”)
cxcf ~/.emacs
m>
(message "m Hello world!")
(print "p Hello world!")
mx load-file ~/.emacs
mx eval-buffer
cxb Message
自动启用文本模式和自动换行模式 69
google emacs 查看 当前 模式
https://www.douban.com/group/topic/34937003/
c-h m
(setq default-majoy-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
未测试
自动启用临时标记模式 69
(setq-default transient-mark-mode t)
chv transient-mark-mode
sum:emacs 25 默认为t
解决流控制问题 69
(enable-flow-control)
terminal和gui测试,未填加没问题
重新绑定键盘按键 69
(global-unset-key "\e\e")
测试结果 esc esc is undefined
sum:意义不大,会影响cht功能
在线帮助功能方面的问题 70
(define-key global-map "\C-x?" 'help-command)
sum:可以不用
关闭按键提示功能 71
暂无
疑难解答 72
暂无
递增查找 75
cht cs emacs cs cr
,右左查找,非正则 75
cht cs to cs cw cs
,右递增单词查找,非正则 78
简单查找 78
cht cs<cr> emacs <cr>
cs<cr><cr>
单词查找 79
google emacs word search https://www.gnu.org/software/emacs/manual/html_node/emacs/Word-Search.html msw
cht msw we ll
基本查找与替换操作 80
cht mx replace-string emacs vim
,查找替换,但会替换为Vim,参考case-replace变量 80
查找替换操作 81
cht m% emacs vim yn,.
,替换下一个、不替换下一个、替换并显示情况、替换并退出 82
cht m% emacs vim y^
,返回上一次替换位置,貌似没有取消替换 82
cht m% emacs vim !
,全部替换并退出 82
查询——替换(以及其他复杂命令)的重复执行 84
重复代码命令,上一个代码命令下一个代码命令
cht m% emacs vim q
cx<esc><esc> mpmn
递归编辑 85
cht m% emacs vim cr 1 cmc
,查找替换时,递归编辑 86
查找操作中的字母大小写问题 86
cht mx set-variable case-fold-search nil m% emacs vim
,设置精确匹配大小写属性值 87
cht mx set-variable case-replace nil m% emacs vim
,设置不根据原始文本大小写顺序替换 87
查找与替换操作中的正则表达式 87
cht <esc>cs .macs
,正则匹配emacs单词 87
cht mx replace-regexp .macs vim
,正则替换emacs单词,同样受到case-replace变量影响 87,google emacs regex replace https://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Replace.html
暂无
m: ispell-program-name ref so title Where is the ispell default dictionary http://stackoverflow.com/questions/21063959/am-i-using-ispell-or-aspell-and-where-is-the-local-dictionary-saved
vim /usr/share/myspell/en_US.dic $HOME/.hunspell_default ref google hunspell default dictionary location
Ispell的使用方法 90
chv ispell-program-name
cht mx ispell-buffer
查单词 94
未测试
Ispell进程 95
未测试
使用unix拼写检查器 95
spell-word
未测试
往unix拼写检查器的字典里添加新单词 98
未测试
暂无
为一次编辑工作定义临时性的简写词汇 101
cxb1 mx abbrev-mode
li cxaig linux
li
sum:
emacs 25
chk cx aig
inverse-add-global-abbrev
chk cx ail
inverse-add-mode-abbrev
为多次编辑工作定义永久性的简写词汇 101
添加以下到 ~/.emacs
(setq-default abbrev-mode t)
(read-abbrev-file "~/.abbrev_defs")
(setq save-abbrevs t)
cxb1 mx abbrev-mode
li cxaig linux
mx write-abbrev-file
~/.abbrev_defs
mx load-file ~/.emacs
cxcc
cat ~/.abbrev_defs
查看
启动emacs
mx list-abbrevs
cxcc
删除简写词汇条目 102
cxb1 mx abbrev-mode
li cxaig linux
mx list-abbrevs
cxo cs li ca ck cxcs
cxb1 li
sum:
mx edit-abbrevs 用于编辑
禁用简写词汇 103
cxb1 mx abbrev-mode
li cxaig linux
mx list-abbrevs
mx kill-all-abbrevs
mx list-abbrevs
简写词汇与字母的大小写 104
cxb1 mx abbrev-mode
li cxaig linux
li Li LI lI
写入
cxb 1 cxcw 11
保存
cxcf 1 cxcs
cxb
多个编辑缓冲区的保存 111
cxcf1 1 cxcf2 2 cxs
编辑缓冲区的删除 112
cxb1 cxcb
cxk1 cxcb
编辑缓冲区的重新命名 113
cxcf1
mx rename-buffer 2
cxcb
只读编辑缓冲区 114
cxb1 cxcb
cxcq cxcb
sum:q是query。状态行—变为%%-
创建上下排列的窗口 116
cx2
创建左右排列的窗口 117
cx3
在窗口之间移动 118
co
移动下一个窗口
c2 co
移动下两个窗口
窗口的删除 120
cx1
保留当前窗口
cx0
删除当前窗口
调整窗口的大小尺寸 120
cx^
加高,
c-x{ c-x}
窄宽
窗口大小的上下、限 122
chv window-min-height
chv window-min-width
默认4和10
对其他窗口进行操作的快捷命令 122
其他窗口打开
cx4f 1 cx4f 2
cx4b cx4b
对比两个窗口中的文件 122
cxb1
1<cr>2 m<
cx4b2
1<cr>3 m<
mx compare-windows
跳到第2行
查看编辑缓冲区清单 124
cxcb
sum:
.已显示
%只读
>标记为待显示
*已修改
D标记为待删除
S标记为待存盘
与编辑缓冲区清单有关的操作 126
编辑缓冲区移动
cxcb cxo cncp
添加待删除标记
cxcb cxo dx
删除标记
cxcb d
cp u
保存缓冲区
cxcb cxo sx
删除已修改标记
cxcb cxo cncn ~
M字段的*消失
删除只读标记 127
cxcb cxo %
R字段的%消失,状态栏的%%消失
其他窗口满屏显示缓冲区,跳转光标 127
cxcb cxo 1
窗口全屏显示GNU Emacs缓冲区
缓冲区列表窗口显示缓冲区 128
cxcb cxo f
缓冲区清单窗口显示GNU Emacs缓冲区
其他窗口显示缓冲区,跳转光标 128
cxcb cxo o
另一个窗口显示GNU Emacs缓冲区并跳转
其他窗口显示缓冲区,不跳转光标 128
cxcb cxo co
另一个窗口显示scratch缓冲区但不跳转
新建窗口显示待显示缓冲区 128
cxcb cxo mmmv
Warnings下面显示三个>缓冲区窗口
书签的设置 131
cxcf 1 cxcs
cxrm 1 cxrl
sum:文件可以不存在,如果不存在则无法使用cxrb跳转,cxb1无法设置标签
移动到书签指示的位置 131
cxcf 1 cxcs
cxrm 1 cxrb <tab>
当前窗口读取书签
书签的重新命名和删除 132
cxcf 1 cxcs cxrm 1
mx bookmark-rename 1 2
mx bookmark-delete 2
cxrl
重命名和删除书签1
与书签清单有关的操作 133
查看书签清单
cxrl
删除书签
cxcf 1 cxcs cxrm 1 cxrl dx
标记书签1,查看书签2和书签1
cxcf 1 cxcs cxrm 1
cxcf 2 cxcs cxrm 2
cxrl mv
查看书签1
cxcf 1 cxcs cxrm 1
cxrl f
只显示书签名,不显示文件名
cxcf 1 cxcs cxrm 1
cxrl t
sum:意义不大
与书签有关的其他编辑命令 134
插入书签1文件内容到书签1文件
cxcf 1 a cxcs cxrm 1
cxb2 mx bookmark-insert 1
保存所有书签到文件
cxcf 1 cxcs cxrm 1
mx bookmark-write b
未测试用shell命令查看
读取书签文件
cxcf 1 cxcs cxrm 1
mx bookmark-write b
cxrl dx
mx bookmark-load b
cxrl
最小化terminal emacs
cz
切换为emacs
cz
m-tab
窗格操作命令 138
新建窗格显示当前缓冲区
cx52
新建窗格打开文件
cx5f 1
跳转窗格
cx52 cx5o
删除窗格
cx52 cx50
sum:只有1个窗格时,不可关闭
新建窗格打开文件,只读
cx52 cx5r 1
新建窗口打开文件
cx4f 1
窗格与变编辑缓冲区的关系 141
暂无
窗口与编辑缓冲区的关系 141
暂无
疑难解答 142
暂无
一次执行一条unix命令 144
ls
m! ls
diff
m!
echo -e "1\n2" > ~/1 ; echo -e "1\n3" > ~/2 ; diff ~/1 ~/2
输出
2c2
< 2
---
> 3
文本作为命令输入 145
m! ls cx0 mh
m| grep bin
设置shell,添加道.emacs
(setq explicit-shell-file-name "/bin/sh")
使用shell模式 147
使用shell模式 147
mx shell
ls
cccc实现shell的c-c中断命令 148
mx shell
top cccc
补全上一条、下一条命令 148
mx shell
ls
mp mn
清除当前输出组,即ls的输出 149
mx shell
ls ccco
未测试
光标跳转到输出结果的开头和结尾 150
mx shell
ls -R
cccr ccce
光标跳转到上一条命令、下一条命令 150
mx shell
ls -R
cccp cccn
当前目录 150
mx shell
ls
cd / cxcf
shell的初始化151
chv explicit-shell-file-name
m: (setq explicit-shell-file-name "/bin/sh")
chv explicit-shell-file-name
远程shell的问题 152
暂无
用shell模式预防安全隐患 153
暂无
shell启动emacs的目录编辑模式 155
emacs ~
emacs启动目录编辑模式
cxcf ~
cxd ~
日期排序 156
cxcf ~
查看和编辑文件 157
查看文件
cxcf ~ v
查看光标所在行 157
cxcf ~ v =
退出查看,返回目录
cxcf ~ v q
,cc也行,q更好记
编辑文件
cxcf ~ f
退出编辑,返回目录
cxcf ~ f cxb
,cxcf也行,多按一个键
文件的删除、复制、重命名操作 157
添加待删除标记 158
cxcf ~ d
执行标记操作 158
cxcf ~ d x
取消标记 158
cxcf ~ d p u
标记所有自动保存文件为待删除 158 #
touch ~/'#1#' ~/'#2#'
emacs
cxcf ~ #
标记所有备份文件为待删除 158 ~
touch ~/'1~' ~/'2~'
emacs
cxcf ~ ~
复制文件 159
touch 1
emacs
cxcf ~
C 1 11
重命名文件 160
touch 1
emacs
cxcf ~
R 1 11
文件的压缩和解压缩操作 160
touch 1
emacs
cxcf ~ Z Z
对文件进行比较 160
对文件进行比较
echo -e "1\n2" > ~/1
echo -e "1\n3" > ~/2
emacs
cxcf ~ = 2
对备份文件进行比较
echo -e "1\n2" > ~/1
echo -e "1\n3" > ~/1~
emacs
cxcf ~ m=
emacs25 没有快捷键,只能手选
在文件上运行unix命令 161
sort
cxcf ~
cs .emacs
!sort
直接处理文件内容,等价cat .emacs|sort 或 sort *
重定向
cxcf ~
cs .emacs
!sort * > 1
刷新目录 162
rm 1
emacs
cxcf ~
cx4f1 cxcs
cxo g
对文件组进行操作 163
选取文件 163
cxcf ~ m
批量选取文件 163
cxcf ~ 2m
批量操作文件 163
cxcf ~ 2m D
大写操作即可
取消选取文件 164
cxcf ~ m p u
取消选取所有文件 164
cxcf ~ mm m<del>
cxcf ~ mm U
误操作测试出,U也能取消所有
用正则表达式来选取文件 164
正则表达式选取文件
cxcf ~
%m
正则表达式标记待删除文件
cxcf ~
%d
文件组上的操作 165
创建目录 165
cxcf ~
+
移动文件 167
cxcf ~
R
正则查询替换文件 168
echo 1 > ~/1 ; echo 1 > ~/2
emacs
cxcf ~ 标记1和2
Q 1 a y y
cxcf ~
简单的目录清单 171
其他窗口列出目录
cxcf ~
cucxcd ~/*
mx print-buffer
user-error: Spooling…done: /usr/bin/lpr: Error - no default destination available.
未测试
man
mx man ls
默认查看emacs manual
查看光标所在命令
cxb1 ls
mx manual-entry
时间显示 174
mx display-time
,显示时间 174
显示日历 174
显示日历 174
mx calendar
从周一显示日历 174
mx set-variable calendar-week-start-day 1 mx calendar
从周一显示日历lisp
(setq calendar-week-start-day 1)
默认日历lisp
(calendar)
在日历中移动 175
明天、昨天
mx calendar
cf cb
下一周同一天,上一周同一天 175
mx calendar
cn cp
下三个月,上三个月 175
mx calendar
cv mv
下一月同一天 175
mx calendar
m} m{
下一年同一天,上一年同一天 175
mx calendar
cx] cx[
星期末、星期初(默认周六周日) 175
mx calendar
ce ca
年末、年初 175
mx calendar
m> m<
跳转指定年月日 175
mx calendar
gd 2011 11 11
跳转到今天 175
mx calendar
cf .
显示节假日 176
查看前2月和本月节假日
mx calendar a
查看前月、本月、明月节假日
mx calendar mx holidays
查看今天节假日
mx calendar h
,显示在状态栏
标记节假日颜色和取消标记 177
mx calendar
x u
日记功能的使用 178
创建一个日记文件 178
未测试
添加日记条目 179
添加今日条目 179
mx calendar
id day cxcs cxo d
默认保存到 ~/.emacs.d/diary 179
添加每周今日条目 179
mx calendar
iw week cxcs cxo d
添加每月今日条目 179
mx calendar
im month cxcs cxo d
添加每年今日条目 179
mx calendar
iy year cxcs cxo d
添加循环间隔1天条目 179
mx calendar
ic 1 cyclic cxcs cxo d
添加持续今明2天条目 179
mx calendar
c<sp> cf
ib block cxcs cxo d
显示日记条目 181
mx calendar d
,显示日历当日条目到另一个窗口 181
mx calendar s
,显示日历当日条目代码到另一个窗口 181
暂无
cxm
185
mx telnet stmp.163.com
缩进整个段落 263
cht
cncn tab mq
cnca tab mq
设置制表位 264
mx edit-tab-stops
cx( <sp><sp><sp>: cx)
m6cxe
cccc cht <tab>
退出失效,无法永久保存
把制表位转换为空格 265
cxb1 <tab>
mh mx untabify
mh mx tabify
默认自动缩进
自动换行模式 266
mx auto-fill-mode
<sp>1<cr>
1<cr>
<r>
未测试,
手动输入缩进值
未测试
文本缩进模式 268
默认自动缩进
cht mx intented-text-mode<cr> <tab>cf<cr>
文本缩进模式中的制表位 270
未测试,不理解
对文本块进行缩进 270
cxb1
1<cr>1<cr>
<tab> cx.
cxh cm\
sum:emacs25 不需要设置 indented-text-mode
其他缩进技巧 271
移动到文本行第一个非空白字符 271
cxb1
<tab>11<sp>11
mm
台阶效果 271
cxb1
111
cbcb cmo
cncf cmo
cxb1
1<cr>
1<cr>
moms
sum:emacs25更新快捷键
cxb1 cqcl
未测试
1 1
1 1
cxb1
插入数据
c<sp> cb cpcp
cxrk c cxry
在图形模式中绘制图形 282
cxb1 mx edit-picture
cc> c2a cc. c2b cc< c2c cc^ c2d
sum:gameFAQ
图形模式中的编辑操作 285
图形模式中的光标移动操作 286
暂无
插入文本行 287
cxb1
mx edit-picture
1<cr>1
cp<cr>
cpco
在图形模式中使用矩形编辑命令 289
1 1
1 1
cxb1 插入数据
mx edit-picture
c<sp>
cb cpcp
cccw r
cb
cccx r
进入大纲模式 293
*1
**11
111
*2
**22
222
cccn cccp cccf cccb
文本的隐藏和显示 294
*1
**11
111
*2
**22
222
ccct ccca cccd cccs
文本被隐藏时的编辑 296
*1
**11
111
*2
**22
222
ccct ce a cnce b ccca
*1a
**11
111b
*2
**22
222
使用大纲副模式 297
暂无
对大纲模式进行定制 298
查看标题正则
chv outline-regexp
设置标题正则
未测试
暂无
暂无
暂无
启动html-helper模式 318
google emacs 没有 html-helper 模式
http://blog.chinaunix.net/uid-7591142-id-112463.html
HTML helper模式不属于默认的Emacs扩展
暂无
暂无
定义宏 335
cxb 1
cx( aa cx) cxe
技巧:如何创建良好的宏 338
暂无
示例:一个更复杂的宏 340
未测试
cx( aa cx) cxe
cucx( bb cx)
命名宏 343
cxb 1
cx( aa cx) cxe
mx nam<tab>(name-last-kbd-macro)
mx mac1
保存宏 344
cxb 1
cx( aa cx) cxe
mx nam<tab>(name-last-kbd-macro) mac
mx in-k<tab>(insert-kbd-macro) mac
sum:mx in-k<tab>
插入默认宏last-kbd-macro
cxb1
cx( aa cx)
mx name-last-kbd-macro mac1
cxcf mac
mx insert-kbd-macro mac
cxcs
cxcc
启动emacs
cxb1
mx load-file mac
mx mac1
暂停宏的执行以等待键盘输入 346
cxb1
cx( aa cucxq 1 cmc bb cx)
cxe 2 cmc
在宏例插入一个查询 348
cht
cx( cs c- <cr> cx)
cxe
yeye
暂无
特殊键 356
未测试
流控制问题的解决办法 363
未测试
未测试
未测试
未测试
语法 372
未测试
格式 373
未测试
移动命令 378
未测试
对代码的缩进样式进行定制 381
未测试
c和c++模式的附加功能 384
未测试
c++模式的差异 387
未测试
etags 389
未测试
未测试
未测试
未测试
lisp语言的基本元素 410
函数的定义 412
未测试
把lisp函数转变为emacs命令 416
未测试
语句块 421
控制结构 422
未测试
编辑缓冲区、文本和文本块 425
未测试
正则表达式 427
未测试
使用正则表达式的函数 438
未测试
找出其他的内部函数 439
窗口卷屏和x状态行 461
未测试
菜单条 462
未测试
鼠标的其他用途 462
未测试
Emacs的删除环和x的选取缓冲区 463
未测试
窗格的使用 464
对自动补足功能进行定制 503
未测试
详细资料 505
未测试
apropos 507
cha lisp
一般性资料 509
未测试
未测试