使用Emacs:帮助篇

简介: 当你打开emacs并认真阅读“快速指南”后,你已经知道用C-x C-f打开文件,用C-x C-s保存文件,用C-x C-c退出emacs,可以在emacs中生存了。这里把Tutorial.cn中出现的命令整理如下以便查看: C-:Control键 M-:Meta(Alt)键 C-v:向下移一屏...

当你打开emacs并认真阅读“快速指南”后,你已经知道用C-x C-f打开文件,用C-x C-s保存文件,用C-x C-c退出emacs,可以在emacs中生存了。这里把Tutorial.cn中出现的命令整理如下以便查看:

C-<chr>:Control键
M-<chr>:Meta(Alt)键
C-v:向下移一屏幕
M-v:向上移一屏幕
C-l:重新绘制,让光标所在行处于屏幕中央
C-p:光标移到上一行(previous line)
C-n:光标移到上一行(next line)
C-b:向左移动一个字符(forward)
C-f:向左移动一个字符(backward)
M-b:向左移动一个词【对中文是移动到上一个标点符号】
M-f:向右移动一个词【对中文是移动到下一个标点符号】
C-a:移动到行首
C-e:移动到行首
M-a:移动到句首
M-e:移动到句首
M-<:移动到所有文字最开头
M->:移动到所有文字最结尾
C-u # cmd:执行#次cmd命令(大多数命令有效)
C-u # C-v:向下翻#行
C-g:取消执行到一半或不响应的命令

C-x 1:只保留当前窗格
C-x 0:关闭当前窗格
C-x 2:切割为等宽半高的两个窗格
C-x o:切换到另一个窗格
<Delback>表示实际中的Backspace键,删除光标前的一个字符
C-u 8 *:插入********
C-d:删除光标后的一个字符(这里的光标,是指闪烁的方块的左边)
M-<Delback>:删除光标前的一个词
M-d:移除光标后的一个词
C-k:移除从光标到行尾间的字符(不包括行尾的换行符号)
M-k:移除从光标到句尾间的字符(依然不包括行尾换行符)
删除和移除:移除的内容通过C-y召回(yank),所以C-y也是粘贴的命令
M-y:使用C-y后,再按M-y,可以召回前面几次移除的内容
C-x u:撤销(undo)
C-x C-f:打开或创建文件
C-x C-s:保存当前文件
C-x C-b:列出缓冲区
C-x s:保存多个缓冲区
C-z:挂起
回显区;状态栏;
M-x text-mode:切换到text-mode
C-h m:查看当前主模式的文档
C-s:搜索
C-h c C-p:查看C-p这条命令的基本信息
C-h k C-p:查看C-p这条命令的更多信息
C-h f    解释一个函数,需要输入函数名
C-h a    相关命令搜索

 

当你能熟练使用以上命令时,你对emacs的理解一定有所加深,至少可以向我一样,完成本文而决不使用鼠标。


进一步使用emacs,需要你使用它强大的帮助系统。快使用C-h C-h查看吧!
你看到的界面应该是这样子的:(图片)
其中'C-h k KEYS'用来查看某个按键序列的说明文档,例如C-h k C-h r,查找到的结果中的第一句"C-h r runs the command info-emacs-manual",表示它运行的是info-emacs-manual这条命令,你可以用M-x info-emacs-manual来执行它,个人认为这命令很强大。

另外一个是'C- h C-f',是阅读emacs的FAQ。FAQ包含了常见问题,值得一读。
在emacs中看FAQ其实看的是它的info。Linux中有man,help,info查看帮助的方式,help是简短帮助,man则是文本式的查看,有一定缺陷,例如查看bash的man页面又5000多行,又不能跳转到别的页面,而info则是为了弥补man的不足出现的,它使用树的结构,结点之间可互访也可以重和,使用方便。
以下是emacs24的FAQ的一段笔记,基本上是翻译了前两节和第三节的一部分:

************************************************************
*Emacs24--FAQ-中文翻译-(部分)
*Author:Haxtra
*Email:zchrissirhcz#gmail.com
************************************************************
1.FAQ记号

1.1基本按键:
C-x:按住Ctrl键不松开,然后按x键,然后全都松开
M-x:Meta键和x键同时按。许多键盘没有Meta键,请使用Alt键。当使用M-a时候需同时按Alt和a键,不过可以先按ESC后松开,再按a键。
C-M-x:同时按住Ctrl和Alt
S:Shift
<RET>:也写为<Return>,回车键。等同于C-m
<TAB>:Tab键。等同于C-i
<ESC>:等价于M,比如C-M-r等价于ESC C-r。等同于C-[
<SPC>:Space(空格键)
<DEL>:也写为<Delete>,等价于C-i,功能是撤销.注意,通常不是键盘上的DEL键,也不同于<Backspace>键。等同于C-?

1.2扩展命令
"M-x COMMAND"表示输入M-x,然后输入命令的名字,再按<RET>(回车键)
'M-x'(默认)调用“执行扩展命令”的命令。如果知道某一命令的名字,你就可以用M-x执行它。如果不知道命令的名字,可以通过输入<TAB>和<SPC>来补全,用<?>查看所有可能的结果,用'M-p'和'M-n'(或者向上键和向下键)来查看先前输入过的命令。一条Emacs命令就是一个交互式的Emacs函数。
你的系统管理员也许绑定了其他的按键,用来执行扩展命令。
如果想执行非交互式的Emacs函数,请看Evaluating Emacs Lisp code

1.3Emacs手册
当我们提到Emacs手册中的某Topic时,可以通过输入'C-h i m emacs <RET> m TOPIC <RET>'这条命令查看对应的node。这其实是调用Info,也就是GNU超文本文档浏览器。如果你不知道如何使用Info,在(终端中)输入info后输入<?>来查看吧!(也可以在Emacs中查看:C-h i)
当我们提到"TOPIC:SUBTOPIC"的时候,使用'C-h i m emacs <RET> m SUBTOPIC <RET>'来查看
如果上面的命令无法正常使用,那可能是因为你的系统管理员没有安装或没有正确安装info文档。

1.4文件名转化
Q:'src/conig.h','site-lisp/default.el'等文件是什么?
A:这些文件是和Emacs一起出现的。Emacs发行版包含几个子目录,例如'etc','lisp'和'src'。它们中的一些(比如'etc'和'lisp')安装好的Emacs中和源代码中都有出现,但另一些(比如'src')只在源代码中出现。
如果你使用Emacs但是不知道它们在你系统中的位置,那么打开Emacs,然后输入'C-h v data-directory <RET>',就可以获得安装的'etc'的完整路径。(这个完整的路径保存在data-directory变量中,'C-h v'命令则显示对应的值和变量的文档。)
你的info目录的位置(也就是存储info文档的地方)被保存在'Info-default-directory-list'中。用'C-h v Info-default-direcctory-list <RET>'命令可查看,它显示若干个目录的名字。最后一个目录应该是大多说info文档存储的位置。Emacs的Info文档默认放在'/usr/local/share/info'.
关于'etc'目录的更多内容,请看Inforational files for Emacs一节

1.5常见缩写
Q:什么是"FSF,LPF,GNU,RMS,FTP"和"GPL"?
A:
FSF:Free Software Foundation自由软件协会
LPF:League for Programming Freedom
GNU:GNU's Not Unix
RMS:Richard Matthew Stallman
FTP:File Transfer Protocal
GPL:GNU General Public License
不要把FSF和LPF混淆。LPF反对look-and-feel版权和软件专利。FSF旨在尽可能为所有人创造高品质的自由软件。
Free Software Foundation这一标题中的free一词,意思是自由(freedom)而不是免费(zero cost)。任何人可以对GPL下的软件收取任意费用。但事实上,GPL提倡的自由导致低价,因为你总可以从别人那里获得软件,而每个人都有权再次出售后者免费发放GPL下的软件。

 

2.常见问题

2.1LPF
LPF反对look-and-feel版权和软件专利。更多信息请查看LPF主页(http://progfree.org)

2.2copyleft的真正含义
Q:GNU copyleft的真正法律意义是什么?
A:
RMS写道:
比起GNU copyleft的法律意义,其精神更加重要:Emacs是一个自由软件,属于Emacs的work也应当是自由软件。“Free”意味着所有人都能够自由地学习、分享、修改和改进Emacs。为了确保每个人都有这种自由,请在传播源代码或者其发行版的同时,请把你所享受的自由也传给他人。

2.3新闻组发布之引导路线
2.4新闻组目录
2.5报告bugs
2.6不赞成的Emacs列表
2.7联系FSF


3.获取帮助

3.1基本的编辑
Q:我刚开始学Emacs;怎样做基本的编辑?
A:输入'C-h t'以调用快速指南。从Emacs22开始,提供了多种语言版本的快速指南,例如法语、德语、日语、俄语等。使用'M-x help-with-tutorial-spec-language <RET>',可以选择相应语言版本的快速指南
你的系统管理员可能会把'C-h'映射为<DEL>操作,用于协调你的键盘。你可以使用'M-x help-for-help'寻求帮助.

3.2学习如何做点事
3.3获取打印的手册
3.4Emacs Lisp文档
3.5安装Texinfo文档
3.6打印Texinfo文件
3.7在Emcas之外查看Info文件
3.8Emcas信息化文件
3.9帮助安装Emacs
3.10获取FAQ

************************************************************
水平有限,先翻译到这里好了。当然前人的一份翻译也可参考:gnus-faq(王宇春译)

目录
相关文章
|
人工智能 计算机视觉
Photoshop2023新版本win11系统安装下载教程
ps迎来了2023的版本,这次的版本提升针对windows11做了特别优化,启动速度比win10快了很多。期盼已久的Win版 PS 2023 终于来了,小编也是通过特殊渠道搞来的,本期带来的WIN版本支持一键安装激活,一次安装永久免费使用众所周知,版本越高,需要的电脑配置也就越来越高。下面放一下2023版本的配置供大家参考。需要注意的是这些版本不再支持windows7系统,仅支持win10及以上的操作系统。
2525 0
|
6月前
|
存储 运维 分布式计算
OSS迁移实战:从自建MinIO到阿里云OSS的完整数据迁移方案
本文介绍了从自建MinIO迁移至阿里云OSS的完整方案,涵盖成本优化、稳定性提升与生态集成需求。通过双写代理、增量同步、分层校验等技术,解决数据一致性、权限迁移、海量小文件处理等挑战,实现业务零中断与数据强一致性,最终达成79%的TCO降低和显著性能提升。
1452 0
|
9月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
7月前
|
前端开发 C++
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
713 4
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
|
11月前
|
SQL 监控 Serverless
Hologres Serverless Computing 快速入门
本文自阿里云智能- Hologres 团队恒定的分享,主题是 Hologres Serverless Computing 快速入门,主要包括以下内容: 1. Hologres Serverless Computing 架构介绍 2. Hologres Serverless Computing 使用入门
289 15
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
851 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
存储 JSON 安全
深入理解与实践:Token的使用及其在Web应用安全中的重要性
【7月更文挑战第3天】在现代Web应用程序中,Token作为一种关键的安全机制,扮演着维护用户会话安全、验证用户身份的重要角色。本文将深入探讨Token的基本概念、类型、工作原理,并通过实际代码示例展示如何在Web应用中实现Token的生成、验证及应用,以确保数据传输的安全性和用户认证的有效性。
3802 2
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
358 3
音频剪裁大师:使用 Python 和 ffmpeg 分割音频的完整指南
使用 Python 和 ffmpeg 进行音频文件分割。通过 `subprocess` 模块调用 ffmpeg 命令,定义 `split_audio` 函数,输入参数包括音频文件、起始时间、持续时间和输出文件名。函数构建命令行指令进行分割,然后执行。运行脚本,即可按指定时间从音频中提取片段。简单易用,适用于多种音频处理场景。
|
JSON JavaScript 中间件
深入浅出Node.js后端开发之Express框架应用
【8月更文挑战第29天】本文将带领读者快速了解并掌握使用Express框架进行Node.js后端开发的基础和进阶知识。我们将一起探索Express的安装、基本使用方法,并通过实际代码示例学习如何搭建一个简单的Web服务器。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的指导和灵感。