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数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...
随机推荐
- MySQL 调优 —— Using filesort
出现这个问题的解决办法在于 MySQL 每次查询仅仅能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话. 那么 ORDER BY 就使用不到索 ...
- 小米手机 js 脚本取src为空的适配问题
今天測试提上来一个问题 我android webview 中运行了一段js脚本.去替换原来的图片.可是小米手机上竟然没起作用 花了一个中午的午休看问题 贴出来帮助下遇到相同的问题的朋友吧.我百度了半天 ...
- ExtJS学习笔记3:载入、提交和验证表单
载入数据 1.比較好用的设置form数据的方法: formPanel.getForm().setValues([{id: 'FirstName', value: 'Joe'}]); 当中id值为for ...
- [Java]LeetCode57 Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...
- hihocoder 1677 翻转字符串 splay
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个字符串S,小Hi希望对S进行K次翻转操作. 每次翻转小Hi会指定两个整数Li和Ri,表示要将S[Li..Ri]进行 ...
- E20170911-hm
specification n. 规格; 说明书; 详述;
- CSS中的五大字体家族(cursive 手写字体族更吸引我)
这是CSS中的五大字体家族. serifserif 中文翻译为“衬线字体族”.serif 具有末端加粗.扩张或尖细末端,或以实际的衬线结尾的一类字体.可以看出 serif 总是在文字末端做文章,这样做 ...
- react中withRouter解决props返回为空
利用 react + antd 框架书写导航栏时,遇到了几个坑,分别是一级菜单和二级菜单在点击的情况下,高亮没有任何问题,但是再点击浏览器返回按钮时,却就乱套了. 1. 二级菜单中,我们可以通过 pr ...
- 深入浅出java多态
所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个 ...
- mysql 导入数据库时,报错1840的解决方法
1.现象 在mysql用sql文件导入数据库时,提示ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @ ...