你好,Emacs!

谈谈emacs

你好,Emacs!

Emacs是什么

Emacs是一个开源项目,具体是什么取决于你用它做什么,你可以从 emacs官网了解到更多的内容。大多数情况下,Emacs是一个编辑器,类似我们的 notepadd++, PyCharm,Eclicpse,Clion等。

如何安装

可以参考如下官方安装文档进行安装

MacOS

下载emacs-plus

1
2
3
brew tap d12frosted/emacs-plus
brew install emacs-plus@27 # if u prefer 27
brew install emacs-plus@28

Debian

1
sudo apt-get install emacs -y

Centos

1
sudo yum -y install emacs

Windows

为了使用体验,请使用 WSL, 再安装emacs

感兴趣的可以看下论坛的经验分享

Emacs如何学习

安装完一运行,可能有点懵,莫慌一切都是暂时的。

../images/2022-10-12_11-45-22_screenshot.png◎ ../images/2022-10-12_11-45-22_screenshot.png

网上的常见的编辑器的学习曲线,Emacs的起点并不需要太高。 ../images/learn-curve.jpg◎ ../images/learn-curve.jpg

输入C-h t,直接进入教程模式(需要注意C表示Ctrl,M表示ALT,S表示Shift) ../images/emacs-tutorial.png◎ ../images/emacs-tutorial.png 按照教程操作一遍就知道所有的操作了

常见的移动光标,保存,退出,你会发现和terminal的很多时候(比如切到尾巴 C-e)有emacs快捷键的影子。

Emacs中文论坛

Emacs能干啥

Emacs每个人使用的用途不一,这里我主要说下我使用的方面。

编辑器

作为一个编辑器,Emacs和所有开源软件一样,有极高的可定制性,如果你是一 个喜欢研究喜欢追求完美的人,那在emacs里面任何东西都是可控的。

而这一切配置可以通过配置文件解决,没错,Emacs通过配置文件(当然你也可 以点鼠标)操作。

笔记 or 博客

大部分的人应该是从orgmode开始了解Emacs的。强烈建议大家先从orgmode熟悉 记录遇到的问题开始。

orgmode可以把它和markdown类比下,是一种格式化的语言但是orgmode不像 markdown有各种解释的方式,orgmode在任何地方都是一样的解释。

通过一定能的配置,orgmode可以导出常见的包括ppt,doc,xlsx,思维导图, pdf等各种格式的内容,也兼容pandoc(用于各种格式间转换),非常方便。

笔记

通过安装roam-mode,可以非常方便的记录捕获你的想法和笔记。而开始这一切 只需要C-c n f创建节点即可

../images/emacs-roam.gif◎ ../images/emacs-roam.gif

我的配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  (use-package org-roam
    :ensure t
    :custom
    (make-directory "~/org-roam")
    (setq org-roam-db-gc-threshold most-positive-fixnum)
    (setq org-roam-directory "~/org-roam")
    (setq org-roam-completion-everywhere t)
    (setq org-roam-v2-ack t)
    (setq org-roam-ui-mode nil)
    (add-hook 'after-init-hook 'org-roam-mode)
    :bind (("C-c n l" . org-roam-buffer-toggle)
	   ("C-c n f" . org-roam-node-find)
	   ("C-c n i" . org-roam-node-insert)
	   :map org-mode-map
	   ("C-M-i" . completion-at-point))
    :config
    (org-roam-setup)
    (setq org-roam-capture-templates
	  '(("d" "default" plain "%?" :if-new
	     (file+head "%<%Y-%m-%d>-${slug}.org" "#+title: ${title}\n#+date: [%<%Y-%m-%d %H:%M>] \n#+last_modified: [%<%Y-%m-%d %H:%M>] \n\n* ${title}\n\n** 参考文档")
	     :unnarrowed t)
	    )
	  )
    )

  (use-package deft
    :ensure t
    :defer t
    :after org
    :bind
    ("C-c n d" . deft)
    :custom
    (deft-recursive t)
    (deft-use-filter-string-for-filename t)
    (deft-default-extension "org")
    (deft-directory org-roam-directory))
博客

如果你用Hugo静态博客或者jekyll的话,使用Org格式的文档可以直接被使用。

用Emacs写博客主要在于写作是在自己的编辑器中,非常方便,并且能够和常用 的工作流git等集成到一起。具体不再赘述。

阅读

rss

不知道2022年了,大家对rss是否还有执念,rss对于技术阅读方面,可以非常方 便获取网站的增量更新,通过非常简单的配置,你就可以在emacs下阅读rss了。

如下是我的个人配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  (use-package elfeed
    :ensure t
    :bind (("C-x w" . elfeed)
	   :map elfeed-search-mode-map
		("g" . elfeed-update))
    )
  (use-package elfeed-org
    :ensure t
    :config
    (elfeed-org)
    (setq rmh-elfeed-org-files (list "~/Documents/rss/elfeed.org")))

按下C-x w进入elfeed界面,g刷新rss,RET(回车)选择对应的文章,n下一篇, p上一篇,遇到访问链接(rss里面没有内容只有链接)也支持eww下查看,觉得 eww不方便,按下&打开浏览器访问。

../images/emacs-elfeed.gif◎ ../images/emacs-elfeed.gif

pdf

emacs自带pdf支持,

C-x C-f选择对应的pdf(或者C-x r b跳到对应书签)即可,C-x 2打开一个新的 页面记录你的笔记。

../images/emacs-pdf.gif◎ ../images/emacs-pdf.gif

git管理

安装magit,解放你的双手。

我的magit配置

1
2
3
4
5
6
(use-package magit
  :ensure t
  :config
  (global-set-key (kbd "C-x g") 'magit-status)
  :after
  (fullframe magit-status magit-mode-quit-window))

C-x g在一个有.git项目文件夹中或者C-c p p选择最近打开的项目, 打开magit,c c P进行push代码

../images/emacs-magit.gif◎ ../images/emacs-magit.gif

GTD事项管理相关

一切从新建一个gtd.org or task.org开始

每一个title就是一个todo项目,每一个todo项目可以C-c C-t切换状态,直至完 成。

../images/emacs-todo1.png◎ ../images/emacs-todo1.png

为什么选择Emacs

本篇只是抛砖引玉,首先去用它你才能感受它的精妙。

我个人认为Emacs适合这些人:

  • 经常用Linux的
  • 小众语言没有合适编辑器
  • 喜欢工作流,一个工具把大部分流程走完,喜欢研究的
  • 文本内容相关
  • 喜欢文本模式纯粹的
  • 技术控

这一年Emacs带给我很多快乐,也在思想方式方面逐渐影响了我,试试吧,万一 很好用呢?