Emacs 学习笔记[1]

为何要学习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。下面挑着几个主要模式列了一个表。

ModeFunction
Fundamental mode默认模式
Text modeText模式
Shell mode在Emacs中写Shell
Picture mode利用键盘画ASCII图
HTML mode看名字就懂
**语言 mode看名字就懂
Compilation mode编译程序用
cc mode特别说出来因为它支持C,Cpp,Java
Org mode最好的文档编辑利器

Emacs会根据的你文档后缀名进入相应的模式,如果无法分辨,则会进入Fundamental mode,同时可以对其进行设置,如果你想吧*.c文件用lisp模式编辑,理论上也是可以的。

ModeFunction
auto-fill mode字换行模式
overwrite mode打字时为替换而不是插入
auto-save mode文件按一定周期自动保存道一个临时文件里
line-number mode显示文本行编号
transient-mark mode对被选需的文本区做高亮反显
abbrev mode允许使用单词简写模式
VC mode在emacs上使用各种版本控制系统
Artist mode用鼠标画ASCII图,和前面对应- -,真是多才多艺的编辑器呀。

其中Outline mode(大纲模式)既是一个主模式,又是一个副模式,表示它可以作为一种主模式使用,也可以作为一种副模式使用。
同时还有一些小众语言的模式,比如Scheme,好吧,其实我最初还是因为这个才想着入坑的。

Start Emacs

Emacs可以用命令行或者是直接点图标打开,打开后会出现如下界面:
这里写图片描述

其中的Emacs Tutorial里的指南为英文。十分值得大家一看。
下面我把快捷键摘要列一个表格,方便之后查询,注意,这只是最基础的入门快捷键。

常用命令

首先介绍一些约定俗称的东西
C- 输入字符chr时按住control键
M- 输入字符chr时按住META(or EDIT or ALT)按键。
无需赘述。
Enter键。

快捷键作用
C-x C-c退出
C-x C-s保存
C-g退出一个正在运行中的命令
C-v查看下一个屏幕的文字
M-v查看上一个屏幕的文字
C-l重绘屏幕,语言不太好描述,用几次就懂了
C-p上一行(previous)
C-n下一行(next)
C-b左移(backward)
M-b左移一个词(中文移动到上一个标点符号)
C-f右移(forward)
M-f右移一个词(中文移动到下一个标点符号)
C-a移动到行头
C-e移动到行尾
M-a移动到句头
M-e移动到句尾
M-<移动到文档开头
M->移动到文档结尾
Del删除光标前一个字符
C-d删除光标后一个字符
M-Del移除光标前一个字符
M-d移除光标后的一个词
C-k移除从光标到行尾的字符
M-k移除从光标到句尾的字符
C-SPC C-w移除选定的文字
C-s C-f寻找一个文件
C-x C-b列出缓冲区
C-x字符扩展
M-x命令名扩展
C-z挂起Emacs,可使用%emacs或者fg返回Emacs

以上是一些比较常用的编辑命令,必须要记下来!!

带参数的命令

大部分的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可以查看当前主模式的文档。
这里写图片描述

搜索

KeyFuction
C-s向前搜索
C-r向后搜索

跳转到下一个命中位置,可以再按C-s 或者C-r即可。

帮助命令

KeyFunction
C-h c command命令说明
C-h f function-name函数说明
C-h v变量说明
C-h i阅读手册
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值