ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287

【emacs tutorial】是熟悉 emacs 的入门资料。一共几十个命令,不需硬记,勤练即可。

翻页命令:

C-v:向前移动一屏

M-v:向后移动一屏

C-l:重绘屏幕,并将光标所在行置于屏幕的中央

光标控制:

C-n:移动到下一行(next)

C-p:移动到上一行(previous)

C-f:向右移动一个字符(forward)

C-b:向左移动一个字符(backward)

M-f:向右移动一个词【对中文是移动到下一个标点符号】

M-b:向左移动一个词【对中文是移动到上一个标点符号】

C-a:移动到行首

C-e:移动到行尾

M-a:移动到句首

M-e:移动到句尾

M-<:移动到所有文字的最开头

M->:移动到所有文字的最末尾

在大部分键盘上,大于号、小于号需要用 Shift 来输入。

数字参数:

C-u n cmd:命令 cmd 重复执行 n 次。

例如:C-u 8 C-f 会向前移动 8 个字符。

终止命令:

C-g:可以终止一条执行过久的命令,也可以取消数字参数和只输入到一半的命令。

关掉其他窗格:

C-x 1:关掉其它所有窗格

有一系列命令是以 C-x 开始,这些命令许多都跟“窗格、文件、缓冲区(buffer)”等等有关。

插入和删除:

<Delback>:删除光标前的一个字符

C-d:删除光标后的一个字符

M-<Delback>:移除光标前的一个词

M-d:移除光标后的一个词

C-k:移除从光标到“行尾”间的字符

M-k:移除从光标到“句尾”间的字符

在 Windows 键盘中,Backspace 键就是 <Delback>。

 

移除缓冲区里的任何一部分:

先将光标移到想移除区域的一端,按 C-@,再将光标移到另一端,按 C-w 就可以把两点间的文字移除

召回移除的文字:

C-y:在光标处插入最后移除的内容

连续按 C-y,可以连续召回最后移除的文字,这实际上实现了复制的功能。

M-y:在光标处插入前一次移除的内容

连续按 M-y,可以召回更前一次被移除的内容。

撤销:

C-x u:消除一个命令所造成的所有改变

文件:

C-x C-f:寻找一个文件

C-x C-s:储存这个文件

如果寻找不存在的文件,就会创建新文件。不过只有在存盘时,Emacs才会真正创建文件。

可以用 C-x C-f 打开多个文件,要切回第一个文件,同样可以用 C-x C-f。

缓冲区:

Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻找到一个文件,Emacs 就在其内部开辟一个缓冲区。

C-x C-b:列出当前所有的缓冲区

C-x b:切换缓冲区

C-x s:保存多个缓冲区

缓冲区和文件是对应的,所以也可以用 C-x C-f 切换缓冲区。

不过,缓冲区未必都有对应文件:比如 “*Messages*” 缓冲区就没有对应文件,它存放的都是在 Emacs 底部出现的消息。

命令集扩展:

C-x:字符扩展(C-x 之后输入另一个字符或者组合键)

M-x:命令名扩展(M-x 之后输入一个命令名)

C-x 的扩展命令有很多,上面已经学过 C-x C-f、C-x C-s 等等。再比如:

C-x C-c:离开 Emacs

命令名扩展比如:

M-x replace-string:在全文范围内把一个字符串替换成另一个

自动保存:

Emacs 会定期将正在编辑的文件写入一个“自动保存”文件中,文件名是在原有文件名的头尾各加一个 “#” 字符。该文件会在正常存盘后被删除。

M-x recover file<Return>:恢复文件

切换主模式:

M-x text mode<Return>:切换到text模式(当然也可以切换到 Fundamental 等其他模式)

C-h m:查看当前主模式的文档

辅模式:

辅模式提供一些辅助的功能。每个辅模式都可以独立地开启和关闭,跟其它辅模式无关,跟主模式也无关。如:

M-x auto fill mode<Return>:启动/关闭“自动折行模式”

C-u 80 C-x f:将每行最大字符数设置为 80

M-q:手动折行(光标必须位于需要折行的那一段)

搜索:

C-s:向下搜索

C-r:向上搜索

Emacs是渐进式(incremental)搜索,意思是搜索与输入同时进行。

再按一次 C-s,搜索下一个出现的位置。按 <Return> 可以结束搜索。

多窗格:

C-x 2:将屏幕划分成两个窗格,光标停留在上方的窗格里

C-M-v:向下滚动下方的窗格(在一个窗格中编辑,用另一个窗格作为参考时很有用)

C-M-S-v:向上滚动下方的窗格(同时按住 CONTROL、META 和 SHIFT 再按 v)

C-x o:将光标转移到其他窗格

C-x 4 C-f:寻找的文件出现在下方的窗格中,同时光标也跳到那里

获得更多帮助:

Emacs 提供了一些命令来查看命令文档,这些命令都以 Ctrl-h 开头。

C-h ?:Emacs会列出它能提供哪些帮助

C-h c C-p:Emacs 会给出这个命令(C-p)的简要说明

C-h k C-p:新打开一个窗格以显示函数的名称及其文档

C-h f previous-line<Return>:解释一个函数(previous-line)

C-h v:显示 Emacs 变量的文档(变量可以被用来“定制 Emacs 的行为”)

C-h a:相关命令搜索(输入一个关键词后,Emacs会列出所有命令名中包含此关键词的 M-x 命令列表)

C-h i:阅读联机手册(也就是通常讲的 Info)

C-h i 命令会打开一个称为 “*info*” 的特殊缓冲区,在那里可以阅读软件使用手册。按 m emacs <Return> 可以阅读 Emacs 的使用手册。按“?”会进入 Info 的使用指南。Emacs Info 会是我们主要的参考文档。

emacs 新手笔记(一) —— 阅读【emacs tutorial】的更多相关文章

  1. emacs 新手笔记(四) —— 使用 dired 完成一些简单的文件和目录操作

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 据说熟悉了 dired,就可以在 emacs 下轻松管理文件和目录了,甚至不再需要 shell 和桌面操作. ...

  2. emacs 新手笔记(三) —— 为 emacs 做一点简单的定制

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 在 emacs 启动时,会加载 ~/.emacs 文件.在该文件中编辑一些 lisp 代码,是一种最为简单的 ...

  3. emacs 新手笔记(二) —— 分割窗格 (split window)

    初极狭,才通人.复行数十步,豁然开朗.—— 陶渊明·桃花源记 ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 使用 split-window-xxx 函数可 ...

  4. emacs window版环境配置(设置默认的.emacs文件,指向自定义.emacs达到自定义home的目的)

    1.下载解压包 下载地址  ,下载之后我是直接解压到E:\emacs中的,E:\emacs中就有bin,libexec…等文件; 2.点击bin中的addpm.exe文件进行安装emacs; 3.就会 ...

  5. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  6. emacs使用笔记

    C-h t tutorial [移动基本操作]C-f C-b C-p C-n 前后上下 C-v C-a 行首 C-e行尾C-a 和 C-e 可以将光标移动到"一行"的头部和尾部.M ...

  7. Emacs学习笔记1

    Emacs笔记-Emacs基本的文本操作 使用命令时要在minibuffer缓冲区中 关于文件 注意 在对单词的操作中C开头的控制范围要比M开头的控制范围要下 对于文件的撤销操作, 不要使用C-x, ...

  8. Emacs学习笔记之主模式笔记

    % 模式相关—————————————————————————— 这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式 Fundamental mode 基本模式         ...

  9. Emacs学习笔记2

    emacs的启动初始化 需要有一个~/.emacs文件, 这个和vim一样 emacs中的查找与替换 递增查找 C-s, 在minibuffer中输入即可, 在一次C-s会跳转到下一个 两次C-g取消 ...

随机推荐

  1. java集合-LinkedList

    一.概述 LinkedList 与 ArrayList 一样实现 List 接口,只是 ArrayList 是 List 接口的大小可变数组的实现,LinkedList 是 List 接口链表的实现. ...

  2. 大家一起撸代码之——Hibernate各种主键生成策略与配置详解

    1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无关,可以跨数据库.在存储对象前,必须要使用主 ...

  3. 关于处理addGiftmoneyAction接口报错问题的总结

    昨天UniUser中AddGiftmoneyAction接口在被调用时抛出异常,曾哥让我来解决这个问题,虽然最后查出是路径问题,但是由于解决问题 的思路不够清晰,导致浪费了大量的时间和精力,也没有给出 ...

  4. [deviceone开发]-大家比较关注的应用内部升级

    一.简介 这个示例详细介绍了应用内升级的步骤,应用内升级是开发App必须的功能.推荐初学者学习. 二.效果图 三.相关下载 https://github.com/do-project/code4do/ ...

  5. MongoDB,客户端工具备份数据库

    本篇介绍下如何利用客户端工具来进行远程服务器的数据备份到本地. 以客户端工具MongoVUE为例来进行讲解: 1.首先要连接本地服务器以及远程服务器数据库 2.在本地服务器(127.0.0.1)中,右 ...

  6. 使用powershell部署WSP包

    代码如下,先卸载,然后删除,然后添加,然后安装. 卸载之后会重启IIS,所以等待几秒钟,直到卸载完成. 添加snapin $snapin = Get-PSSnapin | Where-Object { ...

  7. 在SharePoint 2013中显示“以其他用户身份登录”

    在我新建了SharePoint 2013的网站后, 发现界面与2010有一些不同,比如缺少了“以其他用户身份登录”,这给我的测试带来很大不便. 在找了一些国外网站后,终于找到了解决方法 第一步: 找到 ...

  8. ubuntu下cacti安装配置

    参考文献 http://kling.blog.51cto.com/3320545/1180778 前言: 原本是想源码安装的,但是现在发现还是太麻烦了,就直接通过apt-get install安装了. ...

  9. Android Animation学习(一) Property Animation原理介绍和API简介

    Android Animation学习(一) Property Animation介绍 Android Animation Android framework提供了两种动画系统: property a ...

  10. Android SQL语句实现数据库的增删改查

    本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...