emacs 新手笔记(一) —— 阅读【emacs tutorial】
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】的更多相关文章
- emacs 新手笔记(四) —— 使用 dired 完成一些简单的文件和目录操作
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 据说熟悉了 dired,就可以在 emacs 下轻松管理文件和目录了,甚至不再需要 shell 和桌面操作. ...
- emacs 新手笔记(三) —— 为 emacs 做一点简单的定制
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 在 emacs 启动时,会加载 ~/.emacs 文件.在该文件中编辑一些 lisp 代码,是一种最为简单的 ...
- emacs 新手笔记(二) —— 分割窗格 (split window)
初极狭,才通人.复行数十步,豁然开朗.—— 陶渊明·桃花源记 ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 使用 split-window-xxx 函数可 ...
- emacs window版环境配置(设置默认的.emacs文件,指向自定义.emacs达到自定义home的目的)
1.下载解压包 下载地址 ,下载之后我是直接解压到E:\emacs中的,E:\emacs中就有bin,libexec…等文件; 2.点击bin中的addpm.exe文件进行安装emacs; 3.就会 ...
- emacs 入门第一课:Emacs里的基本概念
Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...
- emacs使用笔记
C-h t tutorial [移动基本操作]C-f C-b C-p C-n 前后上下 C-v C-a 行首 C-e行尾C-a 和 C-e 可以将光标移动到"一行"的头部和尾部.M ...
- Emacs学习笔记1
Emacs笔记-Emacs基本的文本操作 使用命令时要在minibuffer缓冲区中 关于文件 注意 在对单词的操作中C开头的控制范围要比M开头的控制范围要下 对于文件的撤销操作, 不要使用C-x, ...
- Emacs学习笔记之主模式笔记
% 模式相关—————————————————————————— 这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式 Fundamental mode 基本模式 ...
- Emacs学习笔记2
emacs的启动初始化 需要有一个~/.emacs文件, 这个和vim一样 emacs中的查找与替换 递增查找 C-s, 在minibuffer中输入即可, 在一次C-s会跳转到下一个 两次C-g取消 ...
随机推荐
- js的动态加载、缓存、更新以及复用(三)
总体思路 1. 建立一个js服务,该服务实现通用js文件的加载.依赖.缓存.更新以及复用. 2. 各个项目如果使用通用js,可(bi)以(xu)使用js服务实现加载. 3. Js服务只提供通用的 ...
- jquery.datepair日期时分秒选择器
jquery.datepair是一个轻量级的jQuery插件,智能选择日期和时间范围,灵感来自于谷歌日历.Datepair将保持开始和结束日期/时间同步,并可以根据用户的操作设置默认值.该插件不提供任 ...
- jquery easyui tabs单击刷新右键刷新
单击刷新 $(".tabs-inner").click(function(){var currTab = self.parent.$('#tabs').tabs('getSelec ...
- 1:时间戳转换成年月日函数,2:url截取参数方法,3:弹窗自定义方法 4:点击按钮加入购物车
最近一直在使用vue.js来构建项目,先分享一下一些简单可复用的函数. 1:时间戳转换Date.prototype.format = function(fmt){ //author: yumeiqia ...
- float 和 inline-block的心得
float 优点: 横向排列时比较方便,不存在浏览器兼容问题. 缺点: 1)多行横向排行时,换行后经常不能顶行显示. 2)浮动后会跳出当前流,造成父元素高度塌陷,解决办法比较成熟统一 ,不存在浏览器兼 ...
- 最简单的tab切换
JS: $(".con").eq(0).show(); $(".btn span").click(function(){ var num = ...
- CSS学习总结(一)
不知道大家对CSS的印象是怎么样的呢?也许有些模糊,也许根本不清楚.其实它跟我们密切相关,一旦我们浏览网页,都在与它打交道.没有它,我们看不到现在如此丰富多彩的网页效果.那么它到底是什么呢?又该如何使 ...
- Eclipse CDT Linux下内存分析 实战历险
C++产品开发,上线集成时,都需要内存泄露.覆盖率等检测,这些在Windows下都有很好的工具,如 Visual Studio: 这个内置了很多的工具 Devpartner: VC6时BoundChe ...
- 教新手一步步解决:Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to和更新gradle问题
android studio出现问题:Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_O ...
- Android studio 如何查看模拟器里面的文件
1.查看SD卡里面的内容 2.看数据库