重设堆栈大小

程序启动后可能存在堆栈空间分配失败的问题, 此时可在快捷方式后–heap参数, 即
1
--heap 512 

基本操作

启动和关闭

1
2
3
C-x c               关闭Edwin并回到交互命令行
C-x z 挂起Edwin, 此时Edwin不再响应输入, 命令行变为可输入
C-x C-c 退出所有界面

表达式求值

1
2
C-x C-e            求光标左侧表达式的值
M-z 求光标所在处的全部表达式的值

基本操作

1
2
3
4
5
C-i                自动缩进光标
M-/ 自动补全
M-u 光标选定的词变大写
M-; 光标所在行末尾添加注释
C-o 光标处插入回车

文本编辑

1
2
3
4
C-@	               开始记录
C-w 剪切
M-w 复制
C-y 粘贴

文件操作

1
2
3
4
5
6
7
8
C-x C-s            保存 
C-x C-w 另存为
C-x C-f 打开文件
C-x C-r 只读方式打开
C-x C-v 读入另外一个文件代替当前buffer的文件
C-x s 保存所有
C-x i 将文件的内容插入
M-x revert-buffer 恢复到原始状态

窗口

1
2
3
4
5
6
C-x 0              关掉当前窗口 
C-x 1 关掉其他窗口
C-x o 切换窗口
C-x 2 水平两分窗口
C-x 3 垂直两分窗口
C-x 5 2 新frame

一种友好的使用方式

  1. 创建一个新的窗口
  2. 在新窗口中打开其他需要阅读的文件
  3. 在新窗口中执行其中的相关函数, 返回值会在原窗口中显示

删除

1
2
3
4
5
6
7
M-d                后一词 
C-d 后一字
M-del 前一词
M-k 到句尾
M-" 前面的所有空白
M-z 删到指定字母处
C-k 删除到行尾

交互环境操作

交互环境

即命令行下, 读取循环(REPL)过程中的操作

基本操作

1
2
3
4
C-u		退出当前REPL
C-g 回到第一层REPL
C-x 杀死正在运行的求值过程, 并回到当前REPL
C-b 暂停当前求值过程, 并进入断点REPL

启动或恢复Edwin

执行以下两条命令中的任意一条即可启动或者恢复Edwin

1
2
(edit)
(edwin)

文件操作

1
2
3
4
(load "e:\\c.scm")       载入文件
(cd "e:\\temp") 切换工作目录
(disk-save "image") 保存当前执行环境
(disk-restore "image") 恢复执行环境

Emacs其他高级操作

跳转

1
2
3
4
5
6
7
8
9
前/后     单位 
C-f/b 字
M-f/b 词
C-a/e 行内(移动到开头或结尾)
M-a/e 句(一个表达式)
M-</> 文档
C-p/n 行间
M-{/} 段落
C-x ]/[ 页

编辑

1
2
3
4
5
6
7
8
9
10
M-u       后面单词变为大写 
M-l 后面单词变为小写
M-c 后面单词的首字母变大写
M-/ 补全
C-j 从当前位置分成两行,相当于RET + tab
M-( 插入()
C-q tab 插入tab
C-q C-m 插入^M
M-; 插入注释
C-o 回车

撤销

1
2
3
4
C-/ 
C-x u
C-_
C-z

重做

1
2
3
4
C-g M-x undo 
C-g C-/
C-g C-z
C-g C-_

其他注意事项

  1. Lisp不区分大小写, 但是操作系统区分大小写, 因此对于外部的路径, 文件名等, 都应该使用小写, 以免解释器无法正确识别路径

最后更新: 2024年04月24日 15:50

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2017/08/04/Edwin%E7%AC%94%E8%AE%B0/