emacs阅读linux代码,Emacs - 代码编辑神器之一
Emacs是一款著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个和Emacs起名被大家熟知的代码编辑神器是vim。
Emacs它的核心是Emacs Lisp的解释器,Emacs Lisp是Lisp编程语言的一种方言,具有扩展功能以支持文本编辑。
Emacs - 代码编辑神器之一
GNU Emacs的功能包括
内容感知的编辑模式,包括许多文件类型的语法着色。
完整的内置文档,包括新用户指南。
几乎所有人工脚本的 完整Unicode支持。
使用Emacs Lisp代码或图形界面高度可定制。
超越文本编辑,包括功能的整个生态系统的项目策划人,邮件和新闻阅读器,调试器接口, 日历,和更多。
用于下载和安装扩展的打包系统。
Emacs 和 Vim一样既可以在文本终端也可以在图形用户界面(GUI)环境下运行。
编辑模式
Emacs采取的编辑方式是对不同类型的文本进入相应的编辑模式,即“主模式”(major mode)。Emacs针对多种文档定义了不同的主模式,包括普通文本文件、各种编程语言的源文件、HTML文档、TEX与LaTeX文档,以及其他类型的文本文件等等。
每种主模式都有特殊的Emacs Lisp变量和函数,使用户在这种模式下能更方便的处理这一特定类型的文本。例如,各种编程的主模式会对源文件文本中的关键字、注释以不同的字体和颜色加以语法高亮。主模式还提供诸如跳转到函数的开头或者结尾这样特地定义的命令。
Emacs还能进一步定义“次模式”(minor mode)。每一个缓冲区(buffer)只能关联于一种主模式,却能同时关联多个次模式。比如,编写C语言的主模式可以同时定义多个次模式,每个次模式有着不同的缩进风格(indent style)。
快捷键
掌握Emacs的快捷键可以说是Emacs爱好者的基本功,也是提高编辑速度和质量所必备的,但是初学者可能记不住那么多的快捷键必要时可以翻一下,最常用的快捷键数量也就数十个。Emacs的快捷键都是绑定于ctrl和alt(或称meta)上的,例如c-x就是ctrl+x,m-x就是alt+x。当然所有的按键都可以自定义。
当要退出编辑时C-x C-c 代表着,先按C-x 再按C-c才可以退出编辑环境。以下为一些常用的操作快捷键:
文件操作
C-x C-f [文件路径]:打开一个文件
C-x C-s:保存文件
C-x 4 f [文件路径]:在一个新的窗格(缓冲区)中打开文件
C-x 5 f [文件路径]:在一个新的窗口中打开文件
移动操作
C-n:将光标向下移动一行
C-p:将光标向上移动一行
C-b:将光标左移一个字符
C-f:将光标右移一个字符
M-f:将光标右移一个单词
M-b:将光标左移一个单词
C-v:向下移动一屏
M-v:向上移动一屏
C-l:将当前光标所在行移动到屏幕中央(注意:这里是字母L)
C-a:将光标移到行首
C-e:将光标移到行尾
M-S-
M-S->:将光标移动到文件末尾
M-m:将光标移动到行首的第一个非空白字符
查找与替换操作
C-s [查找的内容]:向前查找
C-r [查找的内容]:向后查找
C-M-s [查找的内容]:向前正则查找
C-M-r [查找的内容]:向后正则查找
M-S-%:查找并替换,操作步骤如下:按下M-S-%键启动查找替换,输入要被替换的词,回车,然后输入要替换的词,再回车。被替换的词此时会高亮起来,这时,输入y替换并跳到下一个,输入n忽略并跳到下一个,输入q结束,输入!替换剩下的全部。
文本选择操作
C-S-e:选中从当前位置到行尾的文本
C-S-n:从当前位置开始往下选中一行文本
C-S-p:从当前位置开始往上选中一行文本
C-S-f:从当前位置开始往后选中一个字符
C-S-b:从当前位置开始往前选中一个字符
M-S-f:从当前位置开始往后选中一个单词
M-S-b:从当前位置开始往前选中一个单词
M-S-e:选中从当前位置开始到当前句尾的文本
M-S-a:选中从当前位置开始到当前句首的文本
C-S-@ [其他移动操作]:从一个起始位置,选中连续的字符,比如C-S-@ C-e就表示选中从当前光标位置到行尾的所有字符
C-S-v:向下选择一屏
M-S-v:向上选择一屏
C-S-l:让当前光标所在行居中
C-x h:全选
文本编辑操作
插入文本:只要光标在当前缓冲区,就可以直接输入插入文本。
C-k:删除光标到行尾的所有字符
C-u [N] [操作序列]:重复执行一个操作序列N次
C-/或C-x u:撤销(undo)上次操作,多次按可以撤销之前的多次操作
C-g C-/:重做(redo),用于重做上次的撤销动作(撤销之后后悔了,想恢复重做)
``:删除当前光标前的一个字符
C-:删除当前光标前的一个单词
C-d或``:删除当前光标后的一个字符
M-:剪切当前光标前的一个字符到剪贴板
M-d:剪切当前光标后的一个字符到剪贴板
C-k:剪切从光标到行尾的字符到剪贴板
C-y:粘贴剪贴板中的文本到当前光标位置
M-w:复制当前选中的字符
C-w:剪切当前选择的字符到剪贴板
C-a C-k:剪切一整行到剪贴板中,其实也可以用于删除一整行
C-e:在当前行下方插入一空行
C-x C-q:让当前buffer在“只读”和“读写”两种编辑模式之间切换
多窗格与多窗口
首先要明确一下Emacs中窗格与窗口的概念的区别:每个窗格其实就是一个缓冲区,一个窗口中可以同时打开多个窗格,而窗口就是像Windows那样的GUI窗口。
C-x 1:仅保留当前窗格,关闭其他窗格
C-x 2:在垂直方向打开2个窗格
C-x 3:在水平方向打开2个窗格
C-x o:在不同窗格之间切换
C-x 0:关闭当前窗格
C-x S-{:减小当前窗格的水平宽度
C-x S-}:缩小当前窗格的水平宽度
C-x S-^:增大当前窗格的垂直高度
C-M-v:在另一个窗格中向下滚动一屏(但光标还保留在当前窗格)
C-M-S-v:在另一个窗格中向上滚动一屏(但光标还保留在当前窗格)
M-x make-frame:打开一个新窗口
M-x delete-frame:关闭当前窗口
C-z:挂起当前的窗口(相当于最小化当前的窗口)
文本编码
M-x describe-coding-system:查看当前缓冲区的编码格式
C-x r:列出当前的所有编码
C-x f utf-8:改变当前缓冲区的编码为utf-8
命令与函数操作
M-x [函数名]:执行一个函数
M-S-! [命令]:执行一个命令行命令
M-x shell:在一个新窗格中、当前目录位置打开命令行
一些常用操作
M-x goto-line [行号]:跳转到某一行,将其绑定到快捷键C-c j:
;; 快速跳到某一行
(global-set-key (kbd "C-c j") 'goto-line)
M-x electric-pair-mode:打开括号配对模式
缓冲区
C-x C-b:在一个新窗格中列出当前所有的缓冲区
C-x b xxx:切换到名为xxx的缓冲区
C-x k xxx:关闭一个名为xxx的缓冲区(如果直接按回车,默认关闭的是当前缓冲区)
C-x s:一个个询问是否保存当前每个缓冲区的内容
M-x kill-some-buffers:一个个询问是否关闭当前打开的缓冲区
C-x:在多个缓冲区之间切换
C-x:在多个缓冲区之间切换
配置相关
C-x d S-~:打开Emacs配置文件所在路径
C-h v load-path:查看Emacs的加载路径
帮助操作
C-h t:查看Emacs快速指南
C-h f:查看一个函数(命令)的帮助文档
C-h S-?或M-x [help]:查看帮助
C-h c [命令序列]:显示命令序列对应的函数名
C-h k [命令序列]:显示命令序列的详细文档(打开一个新窗格)
C-h a [关键词]:打开一个新窗格列出所有含有此关键词的命令
C-h i:查看信息字典文档
C-h r:查看使用手册
C-h m:查看当前缓冲区的major mode和minor mode及其介绍
C-h b:查看和当前缓冲区绑定的快捷键列表
C-h v [变量名]:查看某个变量的值
C-h w [函数名]:查看某个函数绑定的快捷键
C-h i m [elisp]:查看elisp文档
命令行操作
以下操作都是在系统命令行中的操作:
emacs -nw -Q:在命令行中打开Emacs,-nw参数表示:no window,-Q参数表示:不显示欢迎界面。在命令行打开Emacs后,各项操作和按键与在GUI窗口中是一致的
Emacs 不仅仅是编辑器
Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中,在基于编辑器的功能基础上,Emacs自行开发了一个“bourne-shell-like”的shell: EShell。Emacs还可以:
收发电子邮件
通过FTP/TRAMP编辑远程档案
通过Telnet登录主机
上新闻组
登陆IRC和朋友交流
查看日历
撰写文章大纲
对多种编程语言的编辑
调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等
玩游戏
计算器
记日记
管理日程,Task,ToDo,约会等
个人信息管理
目录管理
文件比较
阅读info和man文档
浏览网站
为各种程序(TeX等)提供统一的操作界面
........
写在最后
这些年也用过不少的编辑器、IDE,在使用各个编辑器的时候也多多少少鼓捣过各个编辑器的插件、扩展,比如VSCode、Vim、Sublime、Atom等,每种编辑器都有每种编辑器的优势和特点,但是Emacs真的不愧为编辑器神器之一,用好料可以让你效率倍增,更让你有一种莫名的满足感。如果您感兴趣,不妨尝试一下Emacs。
您可能也想了解以下相关编辑器:
特别优惠:宝塔服务器面板,一键全能部署及管理,送你3188元礼包,
>点我领取
emacs阅读linux代码,Emacs - 代码编辑神器之一相关推荐
- 如何阅读linux软件程序代码,如何阅读linux源代码
如何阅读linux源代码 随着linux的逐步普及,现在有不少人对于Linux的安装已经比较熟悉了.与Linux的蓬勃发展相适应,想深入了解Linux的也越来越多.而要想深入了解Linux,就需要阅读 ...
- 基于Linux的Emacs安装
文章目录 基于Linux的Emacs安装 1.下载并安装Emacs 2.检查Emacs版本 3.在GUI模式下启动Emacs 4.在文本模式下启动Emacs 5.保存文件并退出Emacs 基于Linu ...
- 代码编辑神器--VSCode
代码编辑神器–VSCode VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费.开源而且功能强大.它支持几乎所有主流的程序语言的语法高亮.智能代码补全.自定 ...
- typora的写java代码_程序员文档编辑神器typora
今天锋哥推荐一款免费的文档编辑神器-typora Typora 是一款支持实时预览的 Markdown 文本编辑器.它有 OS X.Windows.Linux 三个平台的版本,并且由于仍在测试中,是完 ...
- linux vim ctags,Linux环境上代码阅读与编写的利器-vim+ctags+cscope
Linux环境下代码阅读与编写的利器----vim+ctags+cscope 所谓工欲善其事,必先利其器. 从事Linux程序开发,特别是Linux驱动程序的开发,不管是通过windows下虚拟一个L ...
- 多功能mac代码编辑神器coderunner 4 比Xcode都强大
coderunner 4是Mac平台上的一款轻量级多功能代码编辑神器.本站第一时间为大家带来 coderunner 全新升级版 coderunner 4,支持 23 种语言和.txt 文档制作,比Xc ...
- Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码
CSDN GitHub Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码 AderXCoding/system/tools/lxr 本作品采用知识共享署名-非商业性使用-相同方式共享 ...
- emacs linux 教程,Emacs入门系列:3分钟学会Emacs基本操作
引子 人们都说Emacs是神器,安装看看,这个神器确实够神:没有萌萌的图标,没有帅气的界面,没有性感的代码地图(SublimeText的mini map).刚安装好的Emacs,就是一个呆到爆.土掉渣 ...
- linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件
第一启动emacs会在-目录下创建.emacs.d目录 使用.emacs.d目录管理Emacs配置文件 参考:Declaring .emacs Bankruptcy Emacs的默认配置文件是.ema ...
最新文章
- Spring与Hibernate结合使用
- asp.net 2.0 中引用Web.config内的连接字符串的方法
- 【万众期待】左盟主688页QT教程震撼发布!88个例程,一大波酷炫UI+项目实战案例来袭,让您久等了!!!...
- 算法高级(36)-如何利用并行提高算法的执行效率?
- Spark源码分析之Task
- c语言 define宏名称if(参数),宏编程基础内容
- Android Wear缺少本质上的创新
- 如何用虚拟机安装服务器系统教程,手把手教你虚拟机如何安装系统
- 打印机更换感光鼓单元k_打印机换硒鼓步骤:老司机手把手教你
- Vue含表情评论回复组件
- 推荐一款免费开源的GIF动图软件(录制,编辑,压缩)
- MySql基础篇之SQL语句(DDL、DML、DQL、RCL)
- 【编译原理】Python实现对一个英文文本的词频统计
- http://jingyan.baidu.com/article/d169e186aa8728436611d8f3.html
- 信息增益、信息增益率、Gini
- 10种预防癌症的“超级”食品
- PN532NFC模块串口通信使用教程
- Python 定时框架 - Apscheduler
- GSM手机卡头不安全,可轻易复制来使用
- swi 指令能用在C语言吗,SWI指令---软件中断实例详解