Emacs入门:重要的基本概念、基本读写操作以及一些常用的快捷键

  • 一、Emacs相关的基本概念
  • 二、Emacs缓冲区简介
    • 2.1 Emacs常用缓冲
    • 2.2 Emacs缓冲区的切换方法
  • 三、Emacs基本读写操作
  • 四、Emacs常用快捷键汇总

一、Emacs相关的基本概念


如上图所示,Emacs包含的主要内容包括:Frame、Point、Status bar、Buffer和Mini-buffer。我们可以通过Emacs定制自己的工作环境,使它适合我们的工作,为了实现这个目的,我们首先要理解上图几个有关Emacs的基本概念:

概念 内涵
缓冲区(Buffer) 用来保存输入内容的内存区域。注意,在Emacs中,一切都在内存中进行,除非我们按下Ctrl+x Ctrl+s来保存
窗口(Frame) 用来显示编辑文本的区域
模式(Mode) Emacs中最重要的概念,Emacs之所以功能强大,都是由各种模式提供的。比如,C/C++模式、shell模式、Perl模式、Python模式、HTML模式等等
迷你缓冲区(Mini-Buffer) 主命令行

理解重点
(1)Emacs编辑器可以被认为是一种面向缓冲区的编辑器。对于所有类型的编辑器(比如word),所有编辑操作都在缓冲区中进行,然而,Emacs与大多数编辑器不同的是:Emacs编辑器可以同时开辟并管理多个工作缓冲区,因此,允许同时对多个文件进行编辑操作。

二、Emacs缓冲区简介

Emacs常用的缓冲区(Buffer)包括四个:Buffer、Mini-Buffer、Message Buffer和Scratch Buffer,下面分别介绍它们的作用、特点及相关快捷键。

2.1 Emacs常用缓冲

1、Buffer:我们打开Emacs就会显示的编辑文本的缓冲区;
2、Message Buffer:命令缓冲区,用来显示从Emacs启动开始的所有操作命令信息的缓冲区;
3、Scrathc Buffer:草稿缓冲区,用来临时写的东西,不会被保存,除非使用Ctrl+x Ctrl+W命令。
4、Mini-Buffer:主命令行

Emacs缓冲区的特点:

  • (1)Emacs的“缓冲区”是脱离窗口或框架独立存在的,本质上Emacs的Frame只是显示缓冲区内容的工具。缓冲区内通常包含的内容包括:文件内容、Emacs内部的自定义内容(Message、Scrathc或Help等)。Emacs这种将窗口Frame和缓冲区(Buffer)分离的方式,使得Emacs的编辑过程非常灵活方便。
  • (2)Emacs中打开缓冲区的数量是不受限制的,通常只显示一两个,其他缓冲区即虽然有显示,但是它们是存在于后台的。我们可以将缓冲区理解为一堆页面,其中仅有一页是当前页。
  • (3)每个缓冲区都关联一个主模式,它决定该缓冲区的Emacs行为。比如,text模式是用于设计与书写文档相关模式;Lisp模式是用来编辑Lisp程序的模式。

2.2 Emacs缓冲区的切换方法

(1)切换到主缓冲区(Mini-Buffer):使用Ctrl+x b快捷键,此时光标会从Buffer跳转到Mini-Buffer,Ctrl+g返回Buffer。
(2)查看当前所有缓冲区:当我们切换到Mini-Buffer的时候,按Tab可以在一个新的Buffer界面Completions上查看当前除了Mini-Buffer(主命令行)以外的所有的缓冲区如下图所示:


(3)快速切换缓冲区:使用C-x right 和C-x left快速切换除了Mini-Buffer(主命令行)以外所有当前缓冲区。

三、Emacs基本读写操作

1、创建文档
在Emacs中输入Ctrl+x Ctrl+f,这时会自动切换到Mini-Buffer缓冲区中,想要创建的文件:


2、保存与关闭文档
在新建的文档中写入Python最经典的入门级代码print('Hello World!'),使用Ctrl+x Ctrl+s保存文档,并在Mini-Buffer中输入y即可保存文档。

四、Emacs常用快捷键汇总

1、emacs常用帮助快捷键

方法 描述
Ctrl+h + Ctrl+h 重复两次Ctrl+h可以打开帮助界面
Ctrl+h t 打开官方自带的tutorial
Ctrl+h k 查询快捷键(shortcut key)的帮助信息
Ctrl+h v 查找变量(variables)的帮助信息
Ctrl+h f 查询快捷键的帮助信息

2、emacs光标控制快捷键

方法 描述
Ctrl+v 进入下一页(view next screen)
Alt+v 进入上一页
Ctrl+l 在当前页面,将光标放置中心处,如果连续使用则分别放置于最下、中心和最上
Ctrl+p 将光标移动到上一行(previous)
Ctrl+n 将光标移动到下一行(next)
Ctrl+b 将光标移动到前一个位置(backward)
Ctrl+f 将光标移动到前一个位置(forward)
Alt+b 将光标向后移动一个单词(backward),如果是中文文档,则向前移动一个标点符号的内容
Alt+f 将光标向前移动一个单词(forward),如果是中文文档,则向前移动一个标点符号的内容
Ctrl+e 将光标移动到行尾(end)
Alt+e 将光标移动到段尾/函数尾(end)
Ctrl+a 将光标移动到行首(ahead)
Alt+e 将光标移动到段首/函数首(ahead)
Alt+< 将光标移动到文件开头
Alt+> 将光标移动到文件末尾
Ctrl+u 指定重复次数,比如Ctrl+u 8 Ctrl+f表示向前移动8个字符

3、emacs常规操作捷键

方法 描述
Ctrl+d 删除一个字符
Alt+d 删除一个单词
Alt+x输入linum-mode 显示行号
Ctrl+g 终止当前输入的命令
Ctrl+x Ctrl+f 打开一个文件,该命令后面总是跟随目录/文件名,如果要打开的文件不存在,则创建新的文件
Ctrl+x k 删除缓冲区,执行该命令后,在Mini-Buffer处显示Kill buffer:,输入要删除的缓冲区名即可
Ctrl+x Ctrl-w 修改文件名并保存
Ctrl+w 剪切
Alt+w 复制
Ctrl+y 粘贴
Ctrl+s 向前搜索
Ctrl+r 向后搜索
Alt+% 进行替换,输入y确定
Ctrl+_ 撤销操作
Ctrl+x Ctrl+s 保存文档
Alt+x 运行(run command)
Ctrl+x Ctrl+c 退出Emacs

4、emacs多窗口捷键

方法 描述
ctrl+x 2 将光标所在的窗口水平分为两个窗口
ctrl+x 3 将光标所在的窗口垂直分为两个窗口
ctrl+x 0 关闭光标所在的窗口
ctrl+x 1 关闭除光标所在窗口意外的所有窗口
ctrl+x o 将光标切换到下一个窗口

Emacs入门:重要的基本概念、基本读写操作以及一些常用的快捷键相关推荐

  1. 【积水成渊-逐步定制自己的Emacs神器】1:Emacs入门

    前言 本文介绍了Emacs编辑器的入门知识,看完本文读者会知道Emacs的基本用法以及如何通过Emacs来学习Emacs,这会让你觉得整个学习Emacs的过程都是在被"授之以渔". ...

  2. 转:Emacs生存指南 (Emacs入门必读)

    转载自:http://lifegoo.pluskid.org/?p=152 很不错的emacs扫盲文章 Emacs 生存指南 pluskid 2007 年 11 月 作为一个历史悠久的程序,网上有不少 ...

  3. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  4. 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

    目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Pale ...

  5. Emacs入门指南(1)

    很早就听说Emacs这个开源的文件编辑器了,听说它的功能非常的强大,于是决定试用一下,没想到试用结果是这个"最好用"的编辑器给我的第一印象是"不知所揩",但随着 ...

  6. Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作

    Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作 一.写在前面 1.1 明确目标:搭建一个完整的Python开发环境 1.2 前置工作 二.Doom ...

  7. 机器学习入门:重要的概念---信息熵(Shannon’s Entropy Model)

    机器学习入门:重要的概念---信息熵(Shannon's Entropy Model) 个人公众号:follow_bobo 在机器学习里面,信息熵(Shannon's Entropy Model)其实 ...

  8. RocketMQ_01 RocketMQ入门简介及核心概念

    RocketMQ_01 RocketMQ入门简介及核心概念 伟大的事物不是一时冲动做起来的,而是由一系列小事共同造就的 一.RocketMQ简介 RocketMQ是一款分布式.列队模型的消息中间件,由 ...

  9. emacs入门_Emacs入门

    emacs入门 许多人说他们想学习Emacs ,但是许多人在最短暂的相遇后就回避了. 这不是因为Emacs不好甚至如此复杂. 我认为,问题在于人们实际上并不想学习Emacs. 他们希望对Emacs的传 ...

  10. Unity快速入门之一 3D基础概念、Camera、Canvas RenderMode的几种方式对比

    最近要给公司的小伙伴做Unity入门,针对几个常用的知识进行快速入门介绍. Unity快速入门之一 3D基础概念.Camera.Canvas RenderMode的几种方式对比_翕翕堂 Unity快速 ...

最新文章

  1. Java Web项目结构
  2. 解决 Windows instance 时间不同步问题 - 每天5分钟玩转 OpenStack(153)
  3. OSChina 周一乱弹 —— 程序员进阶之路
  4. “约见”面试官系列之常见面试题之第一百零五篇之v-if与v-show(建议收藏)
  5. Struts2_2_解决配置文件冗余_动作类对象数据封装_数据类型转换_表单数据信息提示
  6. Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
  7. 板式橡胶支座弹性模量怎样计算_Midas Civil支座模拟的详细解决方法
  8. python六种数据类型不可变_python面试题(-)可变数据类型与不可变数据类型
  9. Detected cartesian product for LEFT OUTER join
  10. linux下mysql解压包安装
  11. Android Studio 通过一个登录功能介绍SQLite数据库的使用
  12. matlab 最小二乘法拟合_最小二乘法辨识1阶离散传递函数
  13. whea_uncorrectable_error蓝屏代码
  14. Tbase安装遇错解决办法
  15. Word2016目录自动生成+页码从目录页后面显示
  16. dojo:animation
  17. 冯诺依曼 计算机名言,约翰.冯.诺依曼名言
  18. CSP-J2022入门组二轮补赛试题(山东)T2:宴会
  19. 好记性不如烂笔头The palest ink is better than the best memory
  20. Jetson-Xavier-NX使用教程(这里说插上烧好镜像的SD卡上电就可以直接用了)

热门文章

  1. oracle+suspend+参数,oracle数据库的挂起(Suspending)和恢复(Resuming)
  2. 阿里云服务器一年多少钱?阿里云企业级云服务器报价表
  3. 虚拟机打不开磁盘或它所依赖的某个快照磁盘
  4. 免费ICP域名备案查接口
  5. ios设置tabbar背景颜色_IOS UITabBarViewController 修改背景颜色
  6. IOS逆向学习之路之iPod touch4 越狱心得
  7. java openoffic linux_怎样使用Java读取OpenOffice文档
  8. DHCP server和DHCP relay配置
  9. Program size: Code, RO-data , RW-data, ZI-data
  10. 软件工程毕业设计课题(19)基于JAVA毕业设计JAVA外卖点餐系统毕设作品项目