% 模式相关——————————————————————————

这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式

Fundamental mode 基本模式                     
text ~ 文本模式  
mail ~ 邮件模式  书写邮件
RMAIL ~ 邮件模式  阅读和组织邮件 
view ~ 只读模式  
shell ~ shell 运行shell组件 
ange-ftp ~ FTP  下载查看远程系统上的文件 
telnet ~   登陆远程系统 
outline ~ 大纲模式 书写大纲 
indented text ~   自动缩进文本 
picture ~   绘制线条图形 
nroff ~   按照nroff对文本排版 
TEX ~   按照TEX对文本排版 
latex ~   按照Latex对文本排版 
C ~    
C++ ~    
fortran ~    
emacs LISP    写Emacs LISP程序
LISP    写LISP程序 

% 常用操作————————————————————————————

首先要记住两点①C代表Ctrl,M代表Esc(个别机子上有M键),return表示回车键,-直接用打空格就行;②C-g表示退出或者说取消当前命令,命令输错了也不用慌张。

下面会按照命令概要、快捷键、函数全称、[详细备注]的顺序说明。

  • 打开文件                        C-x C-f                    find-file
  • 重打开文件                    C-x C-v                   find-alternate-file

    读取另一个文件来代替刚才读入的那个,会在辅助输入区中显示当前文件路径并把光标移动到目录上。

  • 插入文件                         C-x i                        insert-file

    将某文件插入到光标所在处。

  • 保存文件                         C-x C-s                   save-buffer
  • 另存为文件                     C-x C-w                   write-file

    与save-buffer一样不过该方法默认为你想修改文件名,如果不修改文件名的话,直接ruturn,那么和save-buffer效果一样,保存到同名文件中。另外可以用find-file+write-file用来复制没有权限的文件。

  • 退出Emacs                    C-x C-c                    save-buffers-kill-terminal
  • 帮助                                 C-h

    C-h t:教程       C-h k 组合键:查找组合键的作用

    C-h f 函数名:查找函数的用法说明,和k的功能类似

  • 版本信息                         M-x version return
  • 自动换行                         M-x auto-fill-mode return

    这是个小模式,自动换行只是针对当前的缓存区,只是显示的时候换行,实际上并不会,在状态栏主模式旁边会显示Fill

% 光标移动——————————————————————————————

  • 向右移动一个字符                   C-f                   forward-char
  • 向左移动一个字符                   C-b                  backward-char
  • 向上移动一行                           C-p                  previous-line
  • 向下移动一行                           C-n                  next-line
  • 向右移动一个单词                   M-f                   forward-word
  • 向左移动一个单词                   M-b                  backward-word
  • 移动到一行的开始                   C-a                  move-begining-of-line
  • 移动到一行的结尾                   C-e                  move-end-of-line
  • 向左移动一个句子                   M-a                  backward-sentence
  • 向右移动一个句子                   M-e                  forward-sentence
  • 向下移动一个段落                   M-}                   这里}{都需要用shift打出
  • 向上移动一个段落                   M-{
  • 移动到下一页                           C-x ]                 forward-page                   如果没有分页符,则跳到缓冲区的结尾
  • 移动到上一页                           C-x [                 backward-page
  • 移动到下一屏                           C-v/PgDn        scroll-up
  • 移动到上一屏                           M-v/PgUp        scroll-down
  • 重新绘制屏幕                           C-l                    recenter-top-bottom

    重新绘制屏显画面,并且将光标所在行放在屏显中心

% 删除相关———————————————————————————————

  • 命令重复执行                            M n                    digit-argument
  • C-u n                 universal-argument

    让后面的命令重复执行n次,另外后者可以缺省n,默认为4次

  • 撤销                                            C-x u                  undo
  • 删除字符                                    C-d                     delete-character
  • 删除下一个单词                        M-d                     kill-word
  • 删除行                                        C-k                     kill-line

    删除从光标位置到行尾的字符,在空行使用时,则删除行本身。因此要删除两次才算删除完整的一行。

  • 恢复删除内容                            C-y                      yank

    恢复被kill类命令(连续)删除的文本,比如连续两次使用C-k删除两行,用C-y可以一次性恢复。连续的kill类命令直接不能有其他命令,否则不能看作一次连续操作。被DEL或者C-d删除的内容不能被恢复。默认最多存储30次操作。

  • 删除块                                         C-w                    kill-region

    这里需要下面的标记文本块,标记后才可以删除掉。

  • 文本标记                                      C-@ or C-space             set-mark-command
  • 标记交换                                      C-x C-x                              exchange-point-and mark

    剪切就用C-w + C-y配合使用

  • 标记段落                                       M-h                                    mark-paragraph

    将mark放置在段落结束处,并把光标移动到段落开头。

  • 复制块                                           M-w                                    kill-ring-save
  • 依次恢复被删除内容                   M-y                                      yank-pop

    循环恢复近30次被删除内容

% 排版以及其他——————————————————————————————

  • 段落重排                                        M-q                            fill-paragraph
  • 块重排                                            无                               M-x fill-region return
  • 交换字符位置                                C-t                              transpose-chars
  • 交换单词位置                                M-t                              transpose-word
  • 交换上一行的位置                        C-x C-t                       transpose-lines
  • 交换段落位置                                无                               transpose-paragraphs

Emacs学习笔记之主模式笔记的更多相关文章

  1. thinkphp学习笔记6—url模式

    原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...

  2. 设计模式学习笔记--备忘录(Mamento)模式

    写在模式学习之前 什么是设计模式:在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方式,这就是软件模式:每个模式描写叙述了一个在我们程序设计中常常发生的问题,以及该问题的解决方式:当我们碰到模 ...

  3. PyQt5学习笔记-从主窗体打开一个子窗体

    PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...

  4. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  5. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  6. 前端程序员学习 Golang gin 框架实战笔记之一开始玩 gin

    原文链接 我是一名五六年经验的前端程序员,现在准备学习一下 Golang 的后端框架 gin. 以下是我的学习实战经验,记录下来,供大家参考. https://github.com/gin-gonic ...

  7. Emacs 学习之旅

    **Emacs 的使用过程,就像是程序员的生涯一样--路漫漫其修远兮,吾将上下而求索.** ## 万物始于 Emacs 最早知道 _Emacs_ 是从编辑器的圣战开始的,即编辑器之神--Vi,和神的编 ...

  8. Mysql Group Replication 简介及单主模式组复制配置【转】

    一 Mysql Group Replication简介    Mysql Group Replication(MGR)是一个全新的高可用和高扩张的MySQL集群服务.    高一致性,基于原生复制及p ...

  9. 6. oracle学习入门系列之六 模式

    oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...

随机推荐

  1. 小议:部署SharePoint 2013时,无法连接SQL Server问题

    最近在给学员培训时发现,个别学员在完毕SharePoint 2013部署时,无法连接SQL Server,两种报错情况,例如以下所看到的: :配置SharePointConnect to SQL Se ...

  2. cacti安装和第三方模块的导入

    Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监測图形分析工具.Cacti是通过 snmpget来获取数据,使用 RRDtool绘绘图形,并且你全然能够不须要了解RRD ...

  3. C++对象内存布局 (一)

    一.前言 在看了皓哥的C++对象的布局之后:http://blog.csdn.net/haoel/article/details/3081328.感觉自己还是总是不能记得很清楚,故在此总结一下C++对 ...

  4. oc60--Category 分类 练习

    // main.m // Category练习 #import <Foundation/Foundation.h> #import "NSString+NJ.h" // ...

  5. Vim 复制粘贴探秘

    Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim ...

  6. caioj1495: [视频]基于连通性状态压缩的 动态规划问题:Formula 2

    本来想写一天插头的,但是这题太难受(绝望)500+的代码量..我选择下午放松一下. 先ORZ一下苏大佬(yz的cdq啊%%%%%)居然把cdq论文里面的题抠出来出数据放在c站(呵呵真是个悲伤的故事不过 ...

  7. bzoj5192: [Usaco2018 Feb]New Barns

    不想写看zory大佬 #include<cstdio> #include<iostream> #include<cstring> #include<cstdl ...

  8. 0423-mysql插入语句大全

    /*注意: 1.字段和值要一一对应 2.值的数据类型是字段的数据类型 3.当输入的字段是表中全部字段时,字段可以省略不写: insert into login values ('zhangsan',‘ ...

  9. Java 判断字符串的存储长度

    判断前台输入项的长度应该都会碰到String.length()  判断出来没有超出最大长度,存到数据库就超出长度的问题,oracle字符集是gbk的不太清楚,如果是UTF-8,中文是占三个字符的,所以 ...

  10. 基于mybatis向oracle中插入数据的性能对比

    数据库表结构: 逐条插入sql语句: <insert id="insert" parameterType="com.Structure"> INSE ...