带您进入这个有用的开源文本编辑器世界的10个技巧。很多人说要学Emacs,但是很多人接触了一小会就退缩了。并不是说Emacs不好,也不是说Emacs很复杂。我认为,问题在于人们并不是真的想“学习”Emacs,他们只是想习惯Emacs的传统。他们想了解那些神秘的键盘快捷键和不熟悉的术语。他们希望将Emacs用于他们认为“用于”的目的。我对此表示同情,因为这就是我对Emacs的看法。我以为真正的Emacs用户只会在终端中运行,从不使用方向键和菜单,更不用说鼠标了。这是阻止您启动Emacs的好方法。有足够多独特的.emacs配置文件可以证明,如果Emacs用户之间存在一个共同的差异,那就是每个人使用Emacs的方式不同。学习Emacs很容易。爱上Emacs是最难的部分。要爱上Emacs,您必须发现它所具有的您一直在寻找的功能,有时您并不知道自己缺少这些功能。这需要经验。获得这种体验的唯一方法是从一开始就积极使用Emacs。这里有十个技巧可以帮助您找出最适合您的方法。Emacs(及其友好的竞争对手Vim)的GUI最伟大的事情之一是它可以在终端中运行,这在您通过SSH连接到服务器时很有用,但在计算机上意义不大过去15年。Emacs的GUI版本可以在功耗极低的设备上运行,并且它具有许多有用的功能,可供新手和有经验的用户使用。例如,如果您不知道如何仅使用键盘快捷键在Emacs中复制单词,编辑菜单的复制、剪切和粘贴选项提供了最简单的方法。没有理由因为选择Emacs而惩罚自己。使用它的菜单,用鼠标选择区域,点击缓冲区内的按钮,不要让陌生感阻碍您的工作效率。Emacsslackware这些功能内置于Emacs中,因为用户使用它们。您应该在需要时使用它们,并且只在您最终在VT100终端上通过SSH使用Emacs时使用晦涩的命令,而没有Alt或箭头键。常用术语EmacsUI元素有特殊的术语。个人计算的发展并非建立在相同的术语之上,因此许多术语对现代计算机用户来说并不熟悉,有些术语相同但含义不同。以下是一些最常见的术语。帧帧。在Emacs中,“框架”就是现代计算机所说的“窗口”。BufferBuffer:“Buffer”是Emacs的一个通信通道。它可以用作Emacs进程的命令行、shell,或者只是文件的内容。Window窗口:“窗口”是您对缓冲区的看法。迷你缓冲区迷你缓冲区。它是主命令行,位于Emacs窗口的底部。Emacs教程图使Emacs修改键更有意义。在PC键盘上,Ctrl键称为C,Alt键称为M。这些键不是C和M,因为它们总是与相应的字母或符号键相关联,因此它们在文档中很容易识别。例如,C-x在现代键盘表示法中表示Ctrl+X,而M-x表示Alt+X。同时按下这两个键,就像从任何应用程序剪切文本时一样。不过,还有另一层键盘快捷键,与现代计算机上的任何快捷键都大不相同。有时,键盘快捷方式不仅仅是组合键,而是一系列击键。例如,C-xC-f表示照常按Ctrl+X,然后按Ctrl+C。有时,键盘快捷键具有混合键类型。组合键C-x3表示像往常一样按Ctrl+X,然后按数字3键。Emacs可以执行这些花哨的暴力组合,因为某些键将Emacs置于特殊的命令模式。如果您按C-X(又名Ctrl+X),您是在告诉Emacs进入空闲状态并等待第二个键或键盘快捷键。Emacs文档,包括官方的和非官方的,都有很多键盘快捷键。练习在心里将C键翻译成Ctrl键,将M键翻译成Alt键,这些文件对你来说都会变得更有意义。用于剪切、复制和粘贴的备用快捷键根据规范,复制文本是通过一系列键盘快捷键完成的,这些快捷键取决于您想要复制或剪切的方式。例如,您可以使用M-d(Emacs术语Alt+d)剪切整个单词,或者使用C-k(Ctrl+K)剪切整行,或者使用M-m(Alt+M)剪切突出显示的区域。如果你愿意,你可以习惯这一点,但如果你喜欢Ctrl+C和Ctrl+X和Ctrl-V,那么你可以改用它们。启用现代剪切复制粘贴需要激活称为CUA(通用用户访问)的功能。要激活CUA,请单击“选项”菜单并选择“使用CUA密钥”。启用后,C-c复制突出显示的文本,C-x剪切突出显示的文本,C-v粘贴文本。此模式仅在您选择文本后才真正激活,因此您仍然可以学习Emacs通常使用的C-x和C-c绑定。无论Emacs是一个应用程序,它都不知道您对它的喜爱或忠诚。如果您只想将Emacs用于“感觉”像Emacs的任务,而将不同的编辑器(例如Vim)用于其他任务,您可以这样做。您与应用程序交互的方式会影响您的工作方式,因此如果Emacs中所需的按键模式与特定任务不一致,请不要强迫自己使用Emacs来完成该任务。Emacs只是您可以使用的众多开源工具之一,没有理由将自己局限于一种工具。探索新功能Emacs所做的大部分工作是一个elisp函数,可以从菜单选择和键盘快捷键调用,或者在某些情况下从特定事件调用。所有功能都可以从迷你缓冲区(Emacs框架底部的命令行)执行。理论上,您甚至可以通过键入前向词和后向词以及下一行和上一行等函数来导航光标。这绝对是非常低效的,但它是一种直接访问您正在运行的代码的方法。在某种程度上,Emacs是它自己的API。您可以通过阅读社区博客上的Emacs来了解新功能,或者您可以采取更直接的方法并使用describe-function。要获得任何函数的帮助,请按M-x(又名Alt+X),然后键入describe-function,然后按Enter。系统将提示您输入函数名称,然后将显示该函数的说明。您可以通过键入M-x(Alt+X)后跟?`来获取所有可用函数的列表。您还可以通过按M-x键,然后键入auto-complete-mode并在键入函数时按Enter来获得弹出函数说明。激活此模式后,当您在文档中键入任何Emacs函数时,您将看到自动完成选项以及函数的描述。Emacs功能当您找到一个有用的功能并使用它时,Emacs会告诉您它的键绑定(如果有的话)。如果没有,您可以通过打开$HOME/.emacs配置文件并输入键盘快捷键来自己分配一个。语法是global-set-key,后面是你想使用的键盘快捷键,然后是你想调用的函数。例如,要为screenwriter-slugline函数分配一个键绑定:(global-set-key(kbd"C-cs")'screenwriter-slugline)重新加载配置文件,键盘快捷键可用:M-xload-file~/.emacsPanicButtons当您使用Emacs并尝试新功能时,您一定会开始调用您不想要的东西。Emacs中的通用紧急按钮是C-g(即Ctrl+G)。我通过将G与GNU相关联来记住这一点,我想我是在呼吁GNU将我从错误的决定中拯救出来,但请随意制作自己的助记符。如果您按C-g几次,Emacs的迷你缓冲区会回到延迟状态,弹出窗口会隐藏,您会回到安全的普通、乏味的文本编辑器。忽略键盘快捷键潜在的键盘快捷键太多,无法在此一一概括,更不用说记住它们了。这是设计使然。Emacs是为定制而设计的,当人们为Emacs编写插件时,他们可以定义自己的特殊键盘快捷键。这个想法不是一次记住所有的快捷方式。相反,您的目标是让您在使用Emacs时感到舒适。您在Emacs中越熟悉,就会越厌倦总是求助于菜单栏,并且您会开始记住对您来说很重要的组合键。每个人都有自己最喜欢的快捷方式,这取决于他们通常在Emacs中做什么。整天使用Emacs编写代码的人可能知道运行调试器或启动特定语言模式的所有键盘快捷键,但对Org模式或Artist模式一无所知。这是自然而美好的。在使用Bash的同时练习Emacs学习Emacs键盘快捷键的好处之一是它们中的许多也适用于Bash。C-a:转到行首C-e:转到行尾C-k:剪切整行M-f:向前一个词M-b:向后一个词M-d:剪切一个词C-y:向后粘贴(粘贴)最近剪切的contentM-Shift-U:大写一个单词C-t:交换两个字符(例如,sl变成ls)还有很多例子,它们会让你与Bash终端交互的速度超乎你的想象。包Emacs有一个内置的包管理器来帮助您发现新的插件。它的包管理器包括帮助你编辑特定类型文本的模式(例如,如果你经常编辑JSON文件,你可以尝试ejson模式)、嵌入式应用程序、主题、拼写检查选项、linters等等。这就是Emacs有潜力成为您日常计算的关键的地方;一旦找到一个好的Emacs包,您可能离不开它。Emacsemoji可以按M-x(Alt+X)键,然后输入package-list-packages命令,按回车键浏览包。包管理器会在每次启动时更新缓存,所以第一次使用时请耐心等待它下载可用包列表。加载后,您可以使用键盘或鼠标进行导航(请记住,Emacs是一个GUI应用程序)。每个包名称都是一个按钮,因此您可以将光标移到它上面并按回车键,或者直接用鼠标单击它。您可以在Emacs框架中出现的新窗口中阅读有关该软件包的信息,然后使用安装按钮进行安装。一些包需要特殊配置,有时在其描述中列出,但有时需要您访问包的主页以阅读更多信息。例如,自动完成包ac-emoji易于安装,但需要您定义符号字体。两种方式都有效,但只有安装了字体,你才会看到相应的表情符号,除非你访问它的主页,否则你可能不会知道它。不管你信不信,俄罗斯方块Emacs都有游戏。有数独、谜题、扫雷、顽皮的心理治疗师,甚至还有俄罗斯方块。这些并不是特别有用,但在任何级别与Emacs交互都是很好的做法,游戏是花时间在Emacs上的好方法。Emacs俄罗斯方块也是我第一次接触Emacs的方式,所以在游戏的所有版本中,Emacs版本是我最喜欢的。使用EmacsGNUEmacs因其灵活性和高可扩展性而广受欢迎。人们已经习惯了Emacs键盘快捷键,以至于他们习惯性地尝试在所有其他应用程序中使用它们,并将他们的应用程序构建到Emacs中,这样他们就永远不需要离开。如果您希望Emacs在您的计算生活中发挥重要作用,最终的关键是拥抱未知并开始使用Emacs。到处摸索,直到你弄清楚如何让它为你工作,然后安定下来,享受40年的舒适生活。
