Emacs 学习笔记[1]
来源:互联网 发布:关注滚球用什么软件 编辑:程序博客网 时间:2024/05/08 09:00
为何要学习Emacs
因为配置vim的Ruby on Rails配置欲仙欲死,在网上的各种安利下入了Spacemacs的坑,在此要感谢一下子龙山人大神的Spacemacs Rocks系列视频,我辈小白的福音。但是用了一阵后想自己配置又觉得Spacemacs的封装太好了,并没有自己DIY的快感,同时也感觉自己的基础特别不牢固,刚好自己对lisp也有一些兴趣。所以就想自己从头学起Emacs,还是侯捷老师那句话:
勿在浮沙筑高塔
讲真…….好几次都感觉自己坚持不下来了,但是想起陈斌大神的话,还是觉得无论如何都要坚持下来。这个博客也是记录自己的学习和进步吧。
Emacs的Mode
Emacs与Vim最大的不用,就是在Mode之上(大神发现说错了勿喷=。=,小白接触没多久来着),很多人都是因为org-mode而接触emacs的。没有配置过的vim,除了编辑文本,其他的功能什么也没有,但是Emacs的各种mode却能让大家能开箱即用,虽然比较简陋,但是基本的缩进之类的玩意儿还是毫无压力的。模式分为Major Mode 和 Minor Mode。下面挑着几个主要模式列了一个表。
Emacs会根据的你文档后缀名进入相应的模式,如果无法分辨,则会进入Fundamental mode,同时可以对其进行设置,如果你想吧*.c文件用lisp模式编辑,理论上也是可以的。
其中Outline mode(大纲模式)既是一个主模式,又是一个副模式,表示它可以作为一种主模式使用,也可以作为一种副模式使用。
同时还有一些小众语言的模式,比如Scheme,好吧,其实我最初还是因为这个才想着入坑的。
Start Emacs
Emacs可以用命令行或者是直接点图标打开,打开后会出现如下界面:
其中的Emacs Tutorial里的指南为英文。十分值得大家一看。
下面我把快捷键摘要列一个表格,方便之后查询,注意,这只是最基础的入门快捷键。
常用命令
首先介绍一些约定俗称的东西
C- 输入字符chr时按住control键
M- 输入字符chr时按住META(or EDIT or ALT)按键。
无需赘述。
Enter键。
以上是一些比较常用的编辑命令,必须要记下来!!
带参数的命令
大部分的Emacs命令支持数字参数。
先输入C-u,再输入数字作为参数,最后再输入命令。
比如:C-u 100 C-n,既是向后移动100行。
如果我C-u 100 然后发现不是我想要的,此时可以C-g退出这个正在运行的命令。
但是有些命令有例外,只要有前缀参数,它就会改变命令的功能。而C-v M-v则是另一种例外,当给定一个参数时,它将滚动你指定的行数而不是屏数。
被禁用的命令
一些命令被禁用了,以避免初学者在了解其确切功能的情况下误用而造成麻烦。
Windows
Emacs可以有多个窗口。
C-x 1
只保留存在的这一个窗口
C-x 2
上下分割成两个窗口
C-x 3
左右分割成两个窗口
C-x o可以在数个窗口之间跳转。
剪切与复制
在前面的表格中出现了移除与删除的区别:
移除和删除的不同在于移除的东西可以被重新插入,而删除的就不能被重新插入,但是可以被撤销(C-/)。重新插入被移除的文字被称为召回(yank,C-y)。
替换
M-x repl s RET changed-string RET altered-string
完全版的命令因该是
M-x replce-string RET changed-string RET altered-string
但是Emacs进行了智能补全。
自动保存
Emacs会定期将正在编辑的文件写入一个自动保存的文件中。自动保存的文件头尾各有一个#字符。
如果因为断电等原因,导致非正常退出。可以打开原文件,然后M-x recover file RET来回复文件。
回显区
%55表示处在文章55%的位置。
L646表示第646行
*表示已经对文字做出来了改动
Fundamental表示处在Fundamental模式下
可以使用M-x来改变模式。
C-h m可以查看当前主模式的文档。
搜索
跳转到下一个命中位置,可以再按C-s 或者C-r即可。
帮助命令
- emacs学习笔记1
- Emacs 学习笔记[1]
- Emacs学习笔记(1)
- emacs学习笔记
- emacs学习笔记
- Emacs学习笔记
- Emacs 学习笔记一
- Emacs 学习笔记二
- Emacs学习笔记
- emacs学习笔记
- Emacs 学习笔记
- Emacs 学习笔记
- Emacs 学习笔记
- Emacs学习笔记
- Emacs学习笔记
- Emacs学习笔记
- Emacs学习笔记
- emacs学习笔记
- Codeforces 543C Remembering Strings 题解
- 白话空间统计二十四:地理加权回归(九)结果解读(二)
- Mac如何拷贝文件到移动硬盘
- 组合计数问题
- Eclipse中将Java项目转换成Web项目的方法
- Emacs 学习笔记[1]
- swift版本的model
- node中,post请求步骤
- ionic开发——Node Sass does not yet support your current environment解决办法
- 算法导论 练习题 16.1-5
- 使用jquery Ajax请求action 得到返回的数据
- 高考难与领导沟通更难 与领导有效沟通的清单
- <script>标签不能自闭合
- Python set解析