从vim到十四天的emacs

2021-03-12 00:39:28

是的,我的朋友,这是真的。经过十五年的使用Vim,教学中的教学,大约vim,所有的嘲笑都嘲笑,我已经看到了光线。 lisp的光......或其他东西。

如果像我一样,你很奇怪就足以试一试,这篇文章应该有帮助你离开地面。

这至少是标题中描述的十四天的一天,但是用Myhelp它应该只带你们两三个。有些事情要习惯,一些新的范式,你必须学习一些Lisp(实际上是elisp),但是不要害怕,这并不是那么难。

所有主要平台都提供EMACS。对于Linux oS,您可以从您的包管理器Du Jour中获取Emacs,即apt-get安装Emacs。通过本地GNU镜像有Alsolinux和Windows版本(此链接将在理论上重新启动靠近您的ToA镜像)。

对于OS X(普令生来说,您唯一的唯一一个原因读到了本节......),你至少有四种选择:

“GNU Emacs for Mac OS X”,它以常见的OS X DNG格式为单位构建二进制文件,准备好了。我相信在这份写作时isversion 24.5。

默认的Homebrew Build,Brew Install Emacs,当然是它的中继形式和 - 使用-US-git-head或-head来获得淡色的边缘版本。

Yamamoto Mitsuharu的实验“Mac Port”版本,它从自定义点击添加(更好)本机GUI支持。 Run Brew Tap Railwaycat / emacsmacportand然后Brew安装Emacs-Mac以获得它;这一个也有典型的-head选项可用。

最后,有一个水色,声称将水上风格的铬带到Emacs。尽管是一个温和的OS X Fanboy Ifind这个令人反感而且自己没有尝试过。

每个构建都将是一个略微不同的Emacs版本,具有趋向于稳定的行李箱释放和酿造版的预构建。它们处理关键代码的方式存在一些小差异(主题端口版本缩小“超级”到“Alt”,这意味着MAC命令键ACTSAS ALT;您可能也可能不这样)。您可以安装所有这些并尝试题材;它们都将无缝加载您的配置。

只需要知道使用Emacsin即可裸露的表格即可使用一些基本钥匙。 EMACS中的大多数默认键映射是CONTROL键压制的序列,因此,例如,C-X C-C表示按“控制”和“X”,然后按“CONTROL”和“C”。

在EMACS表示法中,我将在此处使用,RET表示返回(或“输入”),M表示“META”或“ALT”。根据您使用的键盘布局的Emacs的构建,物理密钥可能会有所不同;尝试每个潜在的keyuntil,你得到了预期的结果。

C-X C-C:退出Emacs。由于所有新的Vim用户必须首先学习:q< cr>所以必须学习这个奇怪的关键和弦。

C-G:取消。这是你真正需要ToAcquire的一块肌肉记忆;即使您重新映射逃生以退出90%的渠道,也将仍然存在一些C-G会让您出去的地方。 justlearn它,用它,爱它。

m-x:执行扩展命令。这是您可以在Emacs交互方式实现的大量成熟的网关;它允许您按名称运行任何ELISP功能。更稍后的更多。

C-H?:帮助帮助。该和弦开启潜在的帮助主题列表,每个主题都有自己的直接映射可通过例如通过例如访问。 C-H T,打开EMACS教程。

那些是你真正需要知道的唯一的本机映射。如果you媒体和疯狂的事情发生了,你可以尝试退出c-g,并通过按下C-H k,然后按下C-H k然后按下钥匙或和弦,了解Chord的emacs。

关于Emacs的最佳事物之一是它是自我记录的。如果您想知道C-X C-C的确实是什么,可以简单地按C-H k询问帮助Abouta键,然后按C-X C-C。 EMACS将打开文档,以便缩写键映射到的功能,并记录了99%的Emacs函数。其他方法可以了解我们稍后会谈论的映射。

所有映射,并且通过此,我的意思是所有映射,都可以重新映射。您可以在重新映射您使用的时间(例如,我创建了一个< lender> xmapping for m-x),或者您可以使用emacs默认值;那是选择中必须自己制作的选择。

配置EMACS很容易与配置Vim一样,如果不是Moreso。然而,与Vim不同,Emacs船用交互式配置工具,您可以用作初学者来配置基本设置,而无需利用Emacs的众多变量和功能的深度。我们会到达那个地点。首先,开始鞍部配置开始。

第一步是为自己制作一个家庭,如果您的ChoiceDID包没有为您创建一个:

在您最喜欢的编辑器中打开〜/ .macs在这篇废话中粘贴,迟早或之后,对您来说似乎非常简单和显而易见:

(要求'包装)(加载到列表'包装档案'(" org"" http://///////wl #34;))(加入列表'包装档案'(" melpa"。" http://melpa.org/packages/" ))(附加名单'包装档案'(" melpa-stable"。" http://stable.melpa.org/packages/" ;))(setq包启用 - 启动nil)(包初始化)

上面的代码加载内置包管理器(“包装”)并将一个多次流行的Emacs包存储库添加到可用的存储库列表中,我们可以安装最新和最大版本的现代Emacs包,类似于Vim Plug- INS。

开始emacs。您现在应该能够按M-X在帧的底部获得提示。键入命令包列表包ret。选项卡完成在该提示中,因此可以随意使用它来确认Emacs可以找到函数。 Emacs将连接到Internet下载包列表和Opena窗口,列出可用的软件包。

这部分变得粘是粘性,因为你需要使用默认的emacs键映射仪表包裹列表,所以让我们刚刚退出缓冲区,我们现在有更新的包装列表。按Q。

最后,通过键入m-x包 - 安装REV-MODE RET,安装邪恶模式,用于EMAC的VIM仿真包。第二个窗口将打开,并且在下载包并编译到EmacsByTecode中时,将在其上发生很多令。 Emacs包往往会发出许多编译警告,您可以忽略它。当它通过时,应该安装邪恶模式。让我们转动ITON。

键入m-x evil-mode ret。您现在可以键入:qa以退出所有Windows和特写镜头。

如果所有的工作,您都可以开始构建Emacs配置级别,而您可能想要做的第一件事就是使用邪恶的默认值。

要在所有缓冲区开放后立即使用邪恶模式使用邪恶模式,请将包加载到内存中并呼叫主模式功能,这是一个被信誉命名为邪恶模式。将此添加到您的〜/ .macs文件:

如果您在EMACS中编辑的.emacs文件,您可以通过将光标放在“需要”单词中,找出那些使用“要求”这个词来做的,而是通过按下C-H F打开“功能的帮助”提示; MenSoror下的单词将放入提示您。按Enter键和拆分窗口打开,包含函数的定义。

试试邪恶模式。要关闭拆分窗口,您应该能够淘汰典型的Vim键C-W O(“只有此”窗口)。 emacs关键是c-x 1,因为这是有意义的......

可用于Emacs的最流行的包之一称为Helm。它只是作为“emacs增量和缩小框架”,这不仅仅是非常有用的“Emacs增量和缩小框架”,但它实际提供的是显示当您键入时缩小的值列表,类似于Vim的Ctrlp实现或升级文本的模糊搜索。

现在,Helm实际上没有搜索您的项目文件或任何内容。不,它简单地介绍了一个框架,用于显示交互式缩小的列表。但是,关于它的令人惊讶的酷话是,当它安装时,突然间的所有Emacs默认选择功能都成为互动者。从m-x包装安装的所有内容都将变得缩小列表,如ctrlp。

这是讨论如何维护Wyalways想要安装的软件包列表的完美时间。有很多不同的方法来做这一点,但这里是一个非常简单的方法,你可以立即开始使用。

由于Emacs Package.el Package Manager内置于EMAC中,因此您不像vundle或neobundle或pathogen,您需要做的就是呼叫包 - 安装在尚未安装的每个包上。这是ELISP中的易于桥。

更新(2016年12月):我不再建议将此包裹手动攻击到您的配置中,如下所示(保留后的)。相反,使用John Wiegley使用令人敬畏的使用包装包的Irecommend。

您必须先设置您的Package.el配置,因为您可以在任何情况下(通过配置您要使用的存储库等),但是您可以使用此简单段引导整个系统:

然后,使用文件中描述的使用程序包形式配置所有包。任何带有关键字的包:将从远程存储库下载到T.确保设置为T.

使用程序包系统能够更多地提供更多,并且它允许我加入并模块化我的大部分配置,同时还可以优化我的EmacsStartup时间。我强烈建议给它拍摄。

有几种方法可以做到这一点,但最简单似乎是这个stackoverflow答案:

(Defun确保安装包装(& REST包)"确保安装每个包,如果不是,请询问安装。返回每个跳过的包的安装包或nil。"(Mapcar(MapCar) lambda(包)(如果(包装 - p包)nil(如果(y-or-an-np(format"包装%s丢失)。安装它?"包))(包装 - 安装包)包))))包));;确保已下载存档描述。(或(文件 - 存在-p packet-user-dir)(包刷新内容));激活已安装的软件包(包装初始化);假设您希望安装" iEdit"和#34; magit"(确保包装安装' iEdit' magit)

如果将此添加到您的〜/ .macs,只需启动EMAC将提示您要安装的包装尚未安装的包。 您可以扩展呼叫以确保 - 包装安装很容易,而ELISP关心不适用于近距离,因此您甚至可以组织它: 如果你这么走了,你可能准备开始探索你的探索。 我会继续发布更新,因为我有时间融合我的思想和经济,或者随着下面的评论法规,可以随意与问题联系。