Emacs 学习笔记[1]

xiaoxiao2021-02-27  159

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

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

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

ModeFunctionauto-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来回复文件。

回显区

U表示处在文章55%的位置。 L646表示第646行 *表示已经对文字做出来了改动 Fundamental表示处在Fundamental模式下 可以使用M-x来改变模式。 C-h m可以查看当前主模式的文档。

搜索

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

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

帮助命令

KeyFunctionC-h c command命令说明C-h f function-name函数说明C-h v变量说明C-h i阅读手册
转载请注明原文地址: https://www.6miu.com/read-13821.html

最新回复(0)