Emacs 从入门到精通
不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs有 些兴趣,或者已 经非常熟悉Emacs的基础操作了,并且希望有所提高。因此我不需要再把"编辑器 之神,还是神的编辑器"之类的恶俗话语放出来,来吸引你的好奇心。下面的内容, 从最基础的快捷键操作开始,一直到让你生活在Emacs中。这中间没有跳跃,你只 需要跟着我做,就可以了。
下面这些主要涉及了文件的基本操作,包括打开,新建,保存,另存为以及退出等比较常用的命令。
C-x C-f | 打开/新建一个文件 |
C-x C-s | 保存文件 |
C-x C-w | 另存为文件 |
C-x C-v | 关闭当前缓冲区文件并打开新文件 |
C-x i | 在当前光标处插入文件 |
C-x b | 新建/切换缓冲区 |
C-x C-b | 显示缓冲区列表 |
C-x k | 关闭当前缓冲区 |
C-x C-c | 关闭emacs |
这里边最方便的就是句首句尾和行首行尾,因为我的是笔记本键盘,上下左右主 要是用方向键,如果要是标准键盘的话,最好常用绑定键。
C-f | 后一个字符 |
C-b | 前一个字符 |
C-p | 上一行 |
C-n | 下一行 |
M-f | 后一个单词 |
M-b | 前一个单词 |
C-a | 行首 |
C-e | 行尾 |
C-v | 向下翻一页 |
M-v | 向上翻一页 |
M-< | 到文件开头 |
M-> | 到文件末尾 |
这里面包括了复制粘贴剪切删除等常用的操作命令。注意,在这里,移除包括了 剪切和删除两个概念,要区分清楚。
M-n/C-u n | 重复执行后一个命令n次 |
C-d | 删除后一个字符 |
M-d | 删除后一个单词 |
Del | 删除前一个字符 |
M-Del | 删除前一个单词 |
C-k | 移除一行 |
C-@ | 设定标志位(主要是为了粘贴剪切以及删除使用) |
C-w | 移除标记区域的内容(剪切) |
M-w | 复制标记区域的内容(复制) |
C-y | 召回(yank)复制/移除的区域/行(粘贴) |
M-y | 召回更早的内容 (在kill缓冲区内循环) |
C-t | 交换两个字符的位置 |
M-t | 交换两个单词的位置 |
C-x C-t | 交换两行的位置 |
M-u | 使从光标位置到单词结尾处的字母变成大写 |
M-l | 与M-u相反 |
M-c | 使从光标位置开始的单词的首字母变为大写 |
C-g | 停止当前运行/输入的命令 |
C-x u/C-_ | 撤销前一个命令(undo) |
C-s | 向后搜索 |
C-r | 向前搜索 |
窗口命令比较常用,尤其是编辑多个文件的时候,你可以打开多个窗口,可以提 高编辑效率。
C-x 2 | 水平分割窗格 |
C-x 3 | 垂直分割窗格 |
C-x o | 切换至其他窗格 |
C-x 0 | 关闭窗格 |
C-x 1 | 关闭除了光标所在窗格外所有窗格 |
C-h m | 查看当前模式 |
C-h c | 显示快捷键绑定的命令 |
C-h k | 显示快捷键绑定的命令和它的作用 |
C-h f | 显示函数的功能 |
C-h b | 显示当前缓冲区所有可用的快捷键 |
C-h t | 打开emacs教程 |
每一次emacs启动的时候,它将加载一个名为~/.emacs的Lisp代码文件,对该文件 进行编辑是一种常用的定制emacs的方式。
下面是一个典型的Lisp语句:
它的意思是在minibuffer上栏显示行列号。其中,括号表示这是一个lisp函数调 用,圆括号内第一个符号setq为emacs配置文件中常用的的函数,它为某个全局变 量赋值。该函数第一个参数为要设置的变量名,第二个数则是该变量的值。
下面讲到的每一行代码,你都可以直接拿到~/.emacs中使用。当你想要了解某一 行代码的作用时,可以把它复制粘贴到~/.emacs中,保存然后重启emacs就可以看 到效果了。
每一条上面都有注释,我就不多说了。
这里所说的高级定制,基本上都属于比较重要的日常应用,比如说主题,w3m浏览 器,Irc,日程管理Org,版本控制Git,代码浏览Cscope。而像那些查看pdf,听 音乐以及煮咖啡的玩意,基本上是华而不实的东西,你要有兴趣,完全可以自己 去做,记住,Emacs提供无限可能。
Emacs的插件一般都是一个以el为后缀名的文件, 把这个文件下载下来后放到一个 目录, 比如~/.emacs.d/, 然后执行下面这两条语句:
这样该插件就安装好了。
其实主题非常重要,因为字体的颜色,背景光标等等都是你天天必须面对的,设 定一个合适的主题,就像一个舒服的狗窝,让你不愿意离开。
下面是我的Emacs主题截图:
这个在Emacs23之后已经自带了,只需要在~/.emacs中加入下面的代码即可使用。
虽然Emacs23自带了Org-mode,但是如果方便地需要使用它,必须做相应的配置才 行。而关于Emacs org是什么,到底有什么用,这里不解释,如果你想了解,可以 在网上搜索,或者进入我的博客找到关于Emacs org 和 GTD 的文章。
好了,在这之前,我还是放一张我打开Emacs的截图
正常生成的html白白黑黑的,没有第三种颜色,对一般人来说比较枯燥。如果你 需要插入lisp/shell代码,五颜六色的比较赏心悦目,当然我不太喜欢它生成的 html,也没有使用。
- 下载htmlize.el
这个很简单,输入htmlize.el,直接就会找到,很简单。 - 添加配置
;; 添加网页着色 (require 'htmlize)
日程表这个东西就是需要不时的看一下,不然单单把它记录起来很容易遗忘,所 以我就把它放在启动的时候。每天,开机,打开Emacs,查看今天的日程表,然后 做相应的工作,多好~
如果你不知道org或者GTD为何物,可能有些云里雾里的。转接的 目的,就是方便 在文件内或者文件之间,互换某些内容。比如,我在inbox里完成了某个 TODO ,然后将其标志成 DONE ,接着需要将这部分内容放到finished里面。如果按 照正常的流程,肯定是先剪切然后复制。由于每天的可能标记完成的任务比较多, 如果都剪切复制,这样的效率太低了,转接就是专门为了提高这个而来的。
首先在你的系统里查询是否有下列文件包。
cvs autoconf libgc-dev libncurses5-dev
查询的方法很简单,例如在终端输入:
它就会自动查看是否已经安装cvs,如果没有,你需要使用下面的指令安装:
上面的几个都可以使用这种方法来确定是否有该安装包。
- APT安装
如果是ubuntu的话,可以先试试apt sudo apt-get install w3m如果可以的话,就不需要使用源代码安装了
- 源代码安装
- 首先:回到主目录 cd
其次:使用cvs下载源码包,输入下面的命令:
- cvs -d:pserver:anonymous@w3m.cvs.sourceforge.net:/cvsroot/w3m login
它会要求你输入密码,直接回车即可。然后在输入下面的命令:
- cvs -d:pserver:anonymous@w3m.cvs.sourceforge.net:/cvsroot/w3m checkout w3m
这一步会下载w3m安装包,可能会浪费点时间,别着急。
然后:安装w3m
- cd w3m ./configure sudo make sudo make install
这几步都是常见的安装命令,无错误之后就表示w3m已经安装完毕。
最后:验证w3m是否正确安装。
在终端输入
- w3m http://www.google.com
如果出现谷歌的搜索界面就表示成功了,这个时候可能中文显示是乱码,别着急, 后面我会解决这个问题。
这个貌似只能用源代码安装了~
首先:仍旧是回到主目录:
其次,使用cvs下载安装包(这一步和w3m安装差不多)
要你输入密码,直接回车。接着输入下面的命令:
这一步需要下载安装包,需要一段时间,当下载完毕的时候,进入emacs-w3m:
然后:安装emacs-w3m
这些步骤下来不出现问题就表明emacs-w3m安装成功。
这是我的~/.emacs中关于Emacs-w3m部分。
由于w3m-el和emacs23并不能充分匹配,有的时候会出现中文乱码问题。这个时候 你需要卸载w3m-el包,同时安装w3m-el-snapshot包。命令如下:
在Emacs上使用git的选择比较多,有Emacs VC git.el git-emacs magit等等,我 使用的是git-emacs。我已经默认你安装了git。
同样,我还是先放上一张git-emacs的截图:
其实https那个是git-emacs在github上的托管地址,有兴趣可以进去看一看。
- 下载cscope
- 这是cscope的下载地址: http://sourceforge.net/projects/cscope/files/
这是cscope的主页: http://cscope.sourceforge.net/
仍然是老三步:
Cscope 的发行包里面有个 xcscope.el 能很好地用于XEmacs 。它处于源代 码包的 contrib/xcscope 目录下,请将xcospe放入.emcs.d/中。
如果需要使用cscope,请将cscope-indexer放入该目录,同时执行M+X cscope-index-files,即可在该目录下生成索引文件。同时将cscope-indexer放 入/usr/bin中,设置为可执行,在该目录下执行 sudo cscope-indexer -r,它会 生成cscope.files和cscope.out两个文件或目录。
转载于:https://www.cnblogs.com/Ricezhang/p/3731234.html
Emacs 从入门到精通相关推荐
- linux学习步骤(从入门到精通)
linux学习步骤(从入门到精通) 来源:http://os.chinaunix.net/a2008/0603/980/000000980392.shtml 博客 作者:新华网 编辑:周荣茂 学习步骤 ...
- 《Linux C编程从入门到精通》——第 1 章 Linux基础 1.1Linux的起源、发展和分类...
本节书摘来自异步社区<Linux C编程从入门到精通>一书中的第1章,第1.1节,作者:宋磊 , 程钢著,更多章节内容可以访问云栖社区"异步社区"公众号查看 第 1 章 ...
- 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 《Linux C编程从入门到精通》一第1章 Linux基础1.1 Linux的起源、发展和分类
本节书摘来自异步社区<Linux C编程从入门到精通>一书中的第1章,第1.1节,作者 宋磊 , 程钢,更多章节内容可以访问云栖社区"异步社区"公众号查看 第1章 Li ...
- 【转载】uvm前置 · Vim 从入门到精通
声明:该文章转载自github - wsdjeg的项目(见如下链接),此处仅供查阅方便,如侵删,感谢作者和翻译者的突出贡献. https://github.com/wsdjeg/vim-galore- ...
- 【Linux】深入理解Shell用法,从入门到精通
Shell 从入门到精通 相关文章 一.Shell背景 1.1 GNU计划 1.2 Shell 1.3 Bash 二. Shell脚本基本语法 2.1 Getting Start 1. Introdu ...
- java从入门到精通_想要开始学java?你要的java从入门到精通布列如下!
java从入门到精通,让我来告诉你! 毫无疑问,java是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握java看似是一件十分困难的事.其实,只要掌握了科学的学习方法 ...
- 虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
UE5 Niagara学习教程 课程获取:虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通-云桥网 你会学到什么 我将通过创建各种各样的实时效果来教你虚幻引擎中强大的粒子系统. 我们将从简单的基 ...
最新文章
- 2022-2028年中国动力电池行业深度调研及投资前景预测报告
- 解析几何:第三章 平面上的直线
- kafka安装_安装Kafka
- 中国溶解浆市场深度调研及投资战略决策报告2022-2028年版
- 从mysql的官网下载tar.gz结尾的mysql
- 工业交换机的背板带宽是怎么计算的?
- angular 关闭当前页_angular刷新当前页 angularjs页面不刷新的解决办法 - 电脑常识 - 服务器之家...
- ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
- Phonegap VS AppCan
- 广州打捞局成功救助7名遇险人员
- java--GUI窗口可视化编程1
- 接口(Api)版本号命名规则
- 将输入的字符串逆序输出
- VFL-SFP业界首个光纤可视化故障定位器SFP模块
- JBOSS未授权漏洞详细复现
- android provision apk 分析
- jsp怎样写一个Button onclick事件
- 数据分析师成长路径-第一阶段
- 小程序关注公众号组件
- 直播 | 骞云科技DevOps实践
热门文章
- 计算机硬件简笔画,电脑的鼠标上色简笔画图片教程步骤
- 神经放射学诊断中的MRI数据分析
- 一直以来使用div menu下拉时flash总是覆盖div menu菜单,当时就很老火了。
- 前端 100 问,大厂面试题精华解析
- 《Python数据分析与挖掘实战》学习笔记——电力漏窃电用户自动识别
- /home/wxl/jdk1.8.0_91/jre/lib/i386/libawt_xawt.so: libXext.so.6: cannot open shared object file: No
- 2021-2025年中国废水泵行业市场供需与战略研究报告
- c++的内存管理(raii->shart_ptr->垃圾回收)
- 新签约和新开业酒店 | 华中首家美高梅、广州奥园喜来登、苏州裸心泊度假村、南昌八一广场格雷斯精选等酒店陆续签约和开业...
- 英特尔高管晒照片不小心泄密