Emacs学习笔记之主模式笔记
% 模式相关——————————————————————————
这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如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学习笔记之主模式笔记的更多相关文章
- thinkphp学习笔记6—url模式
原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...
- 设计模式学习笔记--备忘录(Mamento)模式
写在模式学习之前 什么是设计模式:在我们进行程序设计时,逐渐形成了一些典型问题和问题的解决方式,这就是软件模式:每个模式描写叙述了一个在我们程序设计中常常发生的问题,以及该问题的解决方式:当我们碰到模 ...
- PyQt5学习笔记-从主窗体打开一个子窗体
PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 前端程序员学习 Golang gin 框架实战笔记之一开始玩 gin
原文链接 我是一名五六年经验的前端程序员,现在准备学习一下 Golang 的后端框架 gin. 以下是我的学习实战经验,记录下来,供大家参考. https://github.com/gin-gonic ...
- Emacs 学习之旅
**Emacs 的使用过程,就像是程序员的生涯一样--路漫漫其修远兮,吾将上下而求索.** ## 万物始于 Emacs 最早知道 _Emacs_ 是从编辑器的圣战开始的,即编辑器之神--Vi,和神的编 ...
- Mysql Group Replication 简介及单主模式组复制配置【转】
一 Mysql Group Replication简介 Mysql Group Replication(MGR)是一个全新的高可用和高扩张的MySQL集群服务. 高一致性,基于原生复制及p ...
- 6. oracle学习入门系列之六 模式
oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...
随机推荐
- 小议:部署SharePoint 2013时,无法连接SQL Server问题
最近在给学员培训时发现,个别学员在完毕SharePoint 2013部署时,无法连接SQL Server,两种报错情况,例如以下所看到的: :配置SharePointConnect to SQL Se ...
- cacti安装和第三方模块的导入
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监測图形分析工具.Cacti是通过 snmpget来获取数据,使用 RRDtool绘绘图形,并且你全然能够不须要了解RRD ...
- C++对象内存布局 (一)
一.前言 在看了皓哥的C++对象的布局之后:http://blog.csdn.net/haoel/article/details/3081328.感觉自己还是总是不能记得很清楚,故在此总结一下C++对 ...
- oc60--Category 分类 练习
// main.m // Category练习 #import <Foundation/Foundation.h> #import "NSString+NJ.h" // ...
- Vim 复制粘贴探秘
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim ...
- caioj1495: [视频]基于连通性状态压缩的动态规划问题:Formula 2
本来想写一天插头的,但是这题太难受(绝望)500+的代码量..我选择下午放松一下. 先ORZ一下苏大佬(yz的cdq啊%%%%%)居然把cdq论文里面的题抠出来出数据放在c站(呵呵真是个悲伤的故事不过 ...
- bzoj5192: [Usaco2018 Feb]New Barns
不想写看zory大佬 #include<cstdio> #include<iostream> #include<cstring> #include<cstdl ...
- 0423-mysql插入语句大全
/*注意: 1.字段和值要一一对应 2.值的数据类型是字段的数据类型 3.当输入的字段是表中全部字段时,字段可以省略不写: insert into login values ('zhangsan',‘ ...
- Java 判断字符串的存储长度
判断前台输入项的长度应该都会碰到String.length() 判断出来没有超出最大长度,存到数据库就超出长度的问题,oracle字符集是gbk的不太清楚,如果是UTF-8,中文是占三个字符的,所以 ...
- 基于mybatis向oracle中插入数据的性能对比
数据库表结构: 逐条插入sql语句: <insert id="insert" parameterType="com.Structure"> INSE ...