1 Doom-Emacs用前须知

Doom-Emacs(下面称为Doom)是Emacs的一个比较复杂的配置包,主要目的是使Emacs拥有Vim的出色编辑能力,同时让新手配置起来相对容易些。 但后一个目标几乎是不可能的事情,因为你既要会用Emacs,还要会用Vim,而它们是全宇宙学习难度最高的两个编辑器。

如果这两个编辑器你都没有用过,建议:

  • 分别安装纯纯的Vim和Emacs
  • 按出厂配置(不更改配置不安装插件),学习使用一段时间

就算Doom把Emacs彻底打扮成别人家孩子的样子,Doom也还是Emacs的一个配置包。所以使用Doom的时候还是要求了解Emacs自家的东西多些,对Vim的要求并不高。 Vim相关的内容掌握下面的就可以顺利使用Doom(其实也不少):

  • Vim的模式概念:普通模式、插入模式、视图模式等
  • 模式的切换方法
  • 不同模式下的操作

2 安装和基本配置

2.1 安装

  • Doom要求Emacs版本26.3以上。本人操作系统使用的是Debian稳定版(buster),安装源中提供的版本较低,要从Emacs站点下载源代码编译。看说明编译安装即可,没有什么困难,不赘述。其他依赖的软件如git、ripgrep、find和fd都可以使用Debian官方源安装。
  • 参考项目主页的说明安装Doom就没有问题

注意:Doom使用Emacs的配置目录“~/.emacs.d”,请把原配置文件移走备份好!

git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install

安装要下载很多软件包,耐心等待完成。

2.2 基本配置

  • Doom的个人配置文件在“~/.doom.d”目录下,原个人配置目录“~/.emacs.d”已被当成Doom的“系统”目录
  • .doom.d目录下初始有三个配置文件
    • init.el
    • packages.el
    • config.el

初次使用可完全不改配置,也可修改init.el文件,注释掉一部分不使用的配置。修改前两个文件都要运行下面命令,做一些“同步”设置:

~/.emacs.d/bin/doom sync

修改“~/.profile”文件,把“~/emacs.d/bin”路径添加到程序路径,方便直接使用doom命令。

NOTE:Doom配置文件的封装有点过份,可修改性太差,老Emacser要是感觉不方便,可考虑 bling/dotemacs (github)作为替代方案。

3 使用方法

3.1 理解Emacs的按键表示方法

  • C-x 表示同时按下Ctrl和x
  • M-x 表示同时按下Meta(Alt或者Esc键)和x键
  • SPC表示空格键
  • S 有时表示SHIFT键(放在连字号前时)
  • RET或者<return>表示回车键
  • TAB或者<tab>表示制表符键
  • 如果不是和控制键联合使用,表示顺序按键
    • C-c ab:表示先同时按下Ctrl和c键,再顺序按下a和b
    • C-c C-c a:表示同时按下Ctrl和c键两次,再按a
    • SPC f s:表示顺序按下SPC、f和s键

3.2 状态(state)切换

Vim的“模式”在Doom中称为“状态”(因为“模式”在Emacs中已有其他意义),是Evil包引入和实现。

  • 默认是普通状态(normal state),可进行vim普通模式下的操作
  • 按Esc键可从其他状态返回普通状态
  • 从普通状态切换到其他状态的按键
    • i:插入状态
    • v:视图状态
    • V:行视图状态(整行选取)
    • C-v:块视图状态(矩形框选取)
  • C-z:正常Emacs状态切换,可在所有模式中使用该按键。“Emacs状态”是没有打扮过的Emacs,该状态下可以使用原生Emacs的编辑方式。

除Emacs状态外,其他状态下的操作参考Vim的使用方法。

3.3 空格键(SPC)使用

  • SPC在Doom的普通状态和视图状态下有特殊用途,它相当于Emacs的Ctrl或Meta命令前缀,用于执行命令
  • 如果按下SPC键后不操作,窗口下方会出现命令提示菜单。

4 常用SPC命令

4.1 SPC f:文件操作

  • f:打开/查找文件
  • d:打开目录(Dired)
  • s:保存文件
  • r:最近文件列表
  • y:拷贝当前文件名(路径)
  • C:大写,拷贝当前文件(询问目标位置)
  • D:大写,删除当前文件
  • R:大写,重命名/移动文件
  • S:另存

4.2 SPC b:缓冲区操作

  • b:缓冲区列表
  • n/[:切换到前一个缓冲区
  • p/]:切换到后一个缓冲区
  • s:保存当前缓冲区(使用命令和 SPC f s 可能不同)
  • S:保存所有缓冲区
  • d/k:关闭当前缓冲区
  • O:关闭其他缓冲区
  • K:关闭所有缓冲区
  • z:隐藏/最小化当前缓冲区
  • Z:关闭所有隐藏的缓冲区

4.3 SPC w:窗口操作

此菜单命令非常多,常用的有:

  • v:垂直分割窗口
  • s:水平分割窗口
  • h/j/k/l:在窗口间移动光标(激活编辑窗口)
  • w/W:向前/后窗口移动光标(比hjkl顺手)
  • H/J/K/L:窗口位置置换/移动命令
  • T:撕开窗口(把当前撕出来,试试就知道什么效果了)
  • q:关闭当前窗口
  • n:和s作用相同
  • m:最大化当前窗口(全部、水平或垂直最大化,有提示)
  • =:等分所有窗口(其他调整大小的命令不大实用,不如自己绑定按键)

4.4 SPC o:打开其他程序/界面

  • p:打开/关闭treemacs目录树
  • T:打开终端
  • f:打开一个新窗口(显示当前缓冲区内容,等于在多窗口中同时编辑一个文件,内容同步!)
  • a:org agenda (SPC a A 等于 SPC o a a)

4.5 SPC t:切换(toggle)

  • l:行号
  • b:字体模式
  • F:全屏模式等

4.6 其他

  • SPC q q:退出程序
  • SPC h:帮助菜单,还有主题切换(SPC h t,不知道为啥放到这里)
  • SPC p:项目操作。本人不习惯此类操作,不介绍。

Doom-Emacs安装和基本使用方法相关推荐

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

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

  2. doom emacs如何安装新插件和自定义快捷键

    doom emacs如何安装新插件和自定义快捷键 最近在学习和使用doom emacs,遇到了2个问题. 问题1: 虽然doom emacs已经配置了很多的三方插件,但是还有些个性化的插件如何按doo ...

  3. Emacs 安装配置使用教程

    Emacs 安装配置使用教程 来源 https://www.jianshu.com/u/a27b97f900f7 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑器和编辑器之神 - ...

  4. 【积水成渊-逐步定制自己的Emacs神器】3:为Emacs安装扩展

    前言 本文介绍了如何使用Emacs的Package-Mode来为其安装扩展包,讲解如何添加新的Package源和如何安装Package.以安装一个新的主题包Solarizd和Markdown编辑扩展M ...

  5. 《⑨也懂系列:GNU Emacs安装教程Ver.2》世界著名的顶级全能文本编辑器

    备注:我的全部文章首发在自己的独立博客(http://rsreland.net)上,编程相关文章会同步到这里,不过文章的维护是优先那边.然后本篇文章的地址是:http://rsreland.net/a ...

  6. 从零开始——Emacs 安装配置使用教程 2015

    从零开始--Emacs 安装配置使用教程 2015 字数11995  阅读13410  评论12  喜欢41 教程存档Github 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑 ...

  7. 计算机 电脑 系统安装教程,安装电脑的操作系统的方法

    安装电脑的操作系统的方法 现如今,电脑的使用越来越普遍,几乎每家每户都有电脑,而电脑的操作离不开操作系统,下面小编整理了安装电脑的操作系统的方法,供大家参阅. 1.在电脑光驱里放入要安装的系统光盘.( ...

  8. PHP安装扩展mcrypt以及相关依赖项 【PHP安装PECL扩展的方法】

    一:Mcrypt简介 Mcrypt是PHP的一个扩展,完成了常用加密算法的封装.其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Bl ...

  9. python bs4 安装_Python安装Bs4的多种方法

    安装方法一: ①进入python文件夹执行指令(前提是支持pip指令): pip3 install Beautifulsoup4 ②回车待安装完成,如果出现以下红框中内容,即代表安装成功 ③验证是否可 ...

最新文章

  1. ranorex自动化测试框架开发--控件操作
  2. 租车信息系统数据库设计(3)
  3. 百度商业大规模微服务分布式监控系统-凤睛
  4. 在Spring中使用JDK定时器实现调度任务
  5. 无需部署即可测试JPQL / HQL
  6. 职高有计算机专业前途怎么样,职高有哪些专业前途好有发展前景
  7. 将普通文章内容替换为微信图文消息符合的内容
  8. Nginx之开门见山
  9. MsSQL SQLServer 查询 表中字段的及类型是否为空
  10. python简单爬虫代码-一则python3的简单爬虫代码
  11. c语言函数可变长参数,一种使用变长参数为C程序构造灵活回调函数的方法
  12. 通过ssh远程连接Ubuntu主机
  13. www.idcnd.net传媒官方客服提供
  14. IT民工系列 —— 前言
  15. CCProxy + Proxifier 通过另一台电脑访问网络
  16. Chromium网页Layer Tree创建过程分析
  17. layerui如何隐藏按钮?
  18. 【PYNQ】PYNQ的视频资料介绍
  19. iptables之state模块使用
  20. php.ino,北京大学POMINO v2 NO2卫星产品发布

热门文章

  1. 案例分享:Qt政务标签设计器,标签排版软件定制与打印
  2. Element开发页面没有数据时,展示占位图片
  3. 头条百科怎么创建才容易通过,上头条百科的技巧
  4. 6.3 理解矩阵背后的意义
  5. docker 批量删除images
  6. 谈表达式的副作用----冯晓辉
  7. 计算机主机背影便接口,装机日记二 背影哥手把手教你攒电脑
  8. 阿里“钉钉”挑战企业社交
  9. [软件人生]从应聘到骂人
  10. GO语言开山篇(二):诞生小故事