emacs入门

许多人说他们想学习Emacs ,但是许多人在最短暂的相遇后就回避了。 这不是因为Emacs不好甚至如此复杂。 我认为,问题在于人们实际上并不想学习Emacs。 他们希望对Emacs的传统感到满意。 他们想了解神秘的键盘快捷键和不熟悉的术语。 他们希望使用Emacs,因为他们认为这是“必须使用的”。

我对此表示同情,因为这就是我对Emacs的看法。 我认为所有真正的Emacs用户都只能在终端中运行它,而不用箭头键或菜单,更不用说鼠标了。 这是阻止自己开始使用Emacs的好方法。 那里有足够的独特.emacs配置文件来证明,如果Emacs用户之间存在一个共同的压力,那就是每个人对Emacs的使用方式都不同。

学习Emacs很容易。 爱Emacs很难。 要爱Emacs,您必须发现它一直在寻找的功能,有时甚至不知道您是否已经错过了它们。 这需要经验。

获得这种经验的唯一方法是从头开始-积极使用Emacs。 这里有十个技巧,可以帮助您找出最适合自己的方法。

从GUI开始

关于Emacs(及其友好的竞争对手Vim ,也是最大的优点)之一是它可以在终端中运行,当您通过SSH连接到服务器时,这很有用,但在过去15年或30年内建造的计算机上却没有太大的意义。所以。 Emacs的GUI版本可以在功率非常低的设备上运行,并且具有许多实用的功能,无论是新手还是有经验的用户都可以欣赏。

例如,如果您不知道如何仅使用Emacs中的键盘快捷键来复制单词,则“编辑”菜单的“复制”,“剪切”和“粘贴”选择将提供阻力最小的路径。 选择Emacs没有理由惩罚自己。 使用其菜单,使用鼠标选择区域,然后单击缓冲区中的按钮,不要让不熟悉的地方成为提高生产力的方式。

这些功能是Emacs内置的,因为用户可以使用它们。 当需要使用它们时,应使用它们,并逐步使用最终在没有Alt或箭头键的VT100终端上通过SSH使用Emacs时可能需要的晦涩命令。

习惯术语

Emacs的UI元素有特殊术语。 个人计算的发展不是基于相同的术语,因此许多对于现代计算机用户而言是相对陌生的,而其他的则是相同的,但具有不同的含义。 以下是一些最常见的术语:

  • 框架:在Emacs中,框架是现代计算所称的“窗口”。
  • 缓冲区:缓冲区是Emacs的通信通道。 它可以用作Emacs进程的命令行,shell或仅文件的内容。
  • 窗口:窗口是您对缓冲区的看法。
  • 迷你缓冲区:主命令行,位于Emacs窗口的底部。

理解Emacs修改键

在PC键盘上,Ctrl键称为C,Alt键称为M。这些不是C和M键,因为它们总是与附带的字母或符号键配对,所以它们在文档中很容易识别。

例如,Cx在现代键盘符号中表示Ctrl + X,而Mx是Alt + X。 与从任何应用程序剪切文本时一样,可以同时按下键。

但是,还有另一种快捷键级别,与现代计算机上的任何快捷键都完全不同。 有时,键盘快捷键不仅是一个组合键,还包括一系列按键。

例如,Cx Cf表示照常按Ctrl + X,然后照常按Ctrl + F。

有时,键盘快捷键包含多种键类型。 Cx 3组合键表示照常按Ctrl + X,然后按数字3键。

Emacs可以执行这些复杂功能的方式是因为某些键将Emacs置于特殊的命令模式。 如果按CX(即Ctrl + X),则告诉Emacs进入空闲状态,等待第二个键或键盘快捷键。

官方和非官方的Emacs文档都包含键盘快捷键。 练习将C转换为Ctrl,将M转换为Alt,所有这些文档对您来说都会有意义得多。

剪切,复制和粘贴的备用快捷方式

典型地,复制文本是根据一系列键盘快捷键执行的,这些快捷键取决于您要复制或剪切的方式。

例如,您可以使用Md剪切整个单词(Alt + d为Emacs术语),或者使用Ck剪切整行(Ctrl + K),或者使用Mm剪切突出显示的区域(Alt + M)。 如果需要,您可以习惯使用它,但是如果您喜欢Ctrl + C和Ctrl + X和Ctrl-V,则可以改用它们。

要启用现代剪切复制粘贴功能,需要激活一项称为CUA(通用用户访问)的功能。 要激活CUA,请单击“选项”菜单,然后选择“使用CUA密钥”。 启用此功能后,抄送将复制突出显示的文本,Cx剪切突出显示的文本,而Cv粘贴文本。 仅当选择了文本后,此模式才真正处于活动状态,因此您仍然可以学习Emacs通常使用的常用Cx和Cc绑定。

可以分享

您与应用程序的交互会影响您的工作方式,因此,如果Emacs所需的按键模式与特定任务不一致,则不要强迫自己将Emacs用于该任务。 Emacs只是您可以使用的许多开源工具之一,没有理由将自己限制为仅一种工具。

探索新功能

Emacs所做的大部分工作是从菜单选择,键盘快捷键或某些特定事件中调用的elisp函数。 可以从迷你缓冲区(Emacs框架底部的命令行)执行所有功能。 从理论上讲,您甚至可以通过输入诸如前向单词后向单词以及下一行上一行之类的函数来导航光标。 这将是难以忍受的低效,但这是对运行代码的直接访问。 在某种程度上,Emacs是其自己的API。

您可以通过阅读社区博客上的Emacs来了解新功能,也可以采用更直接的方法并使用describe-function函数。 要获得有关任何功能的帮助,请按Mx(即Alt + X),然后键入describe-function,然后按Return或Enter。 系统提示您输入函数名称,然后显示该函数的说明。

通过键入Mx(Alt + X),然后输入?,可以获取所有可用功能的列表。

通过按Mx,然后键入auto-complete-mode ,然后按Return或Enter,还可以在键入功能时获得弹出式说明。 启用此模式后,当您在文档中键入任何Emacs函数时,系统会为您提供自动补全选项以及该函数的说明。

当您找到有用的功能并使用它时,Emacs会告诉您该功能的键盘绑定(如果已设置)。 如果不存在,可以通过打开$ HOME / .emacs配置文件并输入键盘快捷方式分配来自己分配。 语法为global-set-key,然后是要使用的键盘快捷键,然后是要调用的函数。

例如,要将screenwriter-slugline函数分配给键盘绑定:

 (global-set-key (kbd “C-c s”) 'screenwriter-slugline) 

重新加载配置文件,键盘快捷键对您可用:

 M-x load-file ~/.emacs 

紧急按钮

当您使用Emacs并尝试新功能时,一定会开始调用您本不想调用的东西。 Emacs中的通用紧急按钮是Cg(即Ctrl + G)。
我记得通过将G与GNU相关联来实现这一点,并且我想我正在呼吁GNU将我从一个错误的决定中解救出来,但是请随时编写自己的助记符。

如果按几次Cg,Emacs迷你缓冲区将返回到潜在状态,弹出窗口被隐藏,您将回到普通的无聊文本编辑器的安全性。

忽略键盘快捷键

这里有太多潜在的键盘快捷键来汇总它们,而您希望记住的则更少。 那是设计使然。 Emacs旨在进行定制,当人们为Emacs编写插件时,他们可以定义自己的特殊键盘快捷键。

这个想法不是立即记住所有快捷方式。 相反,您的目标是使自己习惯使用Emacs。 您在Emacs中变得越舒适,就越会无时无刻不依赖菜单栏,并且会开始记住对您来说很重要的组合。

每个人都有自己喜欢的快捷方式,这些快捷方式基于他们在Emacs中的典型做法。 一整天都在Emacs中编写代码的人可能知道运行调试器或启动特定于语言的模式的所有键盘快捷键,但对Org模式或Artist模式则一无所知。 很自然,也很好。

使用Bash时练习Emacs

知道Emacs键盘快捷键的优点之一是它们中的许多快捷键也适用于Bash:

  • Ca-转到行首
  • Ce-转到行尾
  • Ck-整条线
  • MF-说出一个字
  • Mb-再说一遍
  • MD-简而言之
  • Cy-撤回(粘贴)最近剪切的内容
  • M-Shift-U-大写一个单词
  • Ct-交换两个字符(例如,sl变成ls)

还有更多示例,这使您与Bash终端的交互比您想象的要快。

配套

Emacs具有内置的软件包管理器,可帮助您发现新的插件。 它的软件包管理器包含多种模式,可帮助您编辑特定类型的文本(例如,如果您经常编辑JSON文件,则可以尝试ejson模式),嵌入式应用程序,主题,拼写检查选项,短绒棉纸等。 在这里,Emacs可能对您的日常计算变得至关重要。 找到出色的Emacs软件包后,如果没有它,您将无法生存。

您可以通过按Mx(即Alt + X)浏览软件包,然后键入package-list-packages命令,然后按Return或Enter。 程序包管理器在每次启动时都会更新其缓存,因此在下载可用程序包列表时,请耐心等待首次使用它。 加载后,您可以使用键盘或鼠标进行导航(请记住,Emacs是GUI应用程序)。 每个软件包名称都是一个按钮,因此,将光标移到它上面并按Return键,或者用鼠标单击它即可。 您可以在Emacs框架中出现的新窗口中阅读有关软件包的信息,然后使用“安装”按钮进行安装。

有些软件包需要特殊的配置,有时会在其说明中列出,但是其他时候则需要您访问软件包的主页以了解更多信息。 例如,自动完成软件包ac-emoji易于安装,但需要定义符号字体。 无论哪种方式都可以,但是如果您安装了字体,则只会看到相应的表情符号,除非您访问其主页,否则您可能不会知道。

俄罗斯方块

Emacs有游戏,信不信由你。 这里有数独游戏,测验,扫雷车,只是为了找乐子的心理治疗师,甚至还有俄罗斯方块。 这些并不是特别有用,但是在任何级别上与Emacs交互都是一种很好的做法,并且游戏是一种最大化利用Emacs的时间的好方法。

俄罗斯方块也是我一开始就被介绍给Emacs的方式,因此在游戏的所有版本中,Emacs版本才是我真正的最爱。

使用Emacs

GNU Emacs之所以受欢迎是因为它不可能灵活且高度可扩展。 人们已经习惯了Emacs键盘快捷键,以至于习惯性地尝试在所有其他应用程序中使用它们,并且他们将应用程序内置到Emacs中,因此从一开始就不必离开。 如果您希望Emacs在您的计算生活中发挥重要作用,那么最终的关键是拥抱未知因素并开始使用Emacs。 仔细研究它,直到您发现如何使其适合您,然后安享40年的舒适感。

翻译自: https://opensource.com/article/20/3/getting-started-emacs

emacs入门

emacs入门_Emacs入门相关推荐

  1. Android自动化测试-从入门到入门(5)AdapterView的测试

    在之前的文章中,我们简单介绍了Espresso的使用.通过onView()方法我们可以快速定位到界面上我们需要测试的目标元素.整体来说,onView()比较适用于UI比较简单的情况,在不需要过于复杂的 ...

  2. Android视频录制从不入门到入门系列教程(一)————简介

    一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...

  3. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  4. 数论基础,从入门到入门

    数论基础,从入门到入门 文章目录 数论基础,从入门到入门 一.常用算法 1.素数筛法 2.线性筛 3.快速幂 4.矩阵快速幂 5.辗转相除法/欧几里得算法 6.扩展欧几里得 7.中国剩余定理/CRT ...

  5. ActiveMQ入门-amq入门

    ActiveMQ是什么 ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线. ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS ...

  6. BIOS从快速入门到入门1------浅谈BIOS

    眨眼间,从一个刚毕业的萌新小白,到现在的BIOS工程师,做了快2年半的x86服务器BIOS,勉强可以算是入门了.踩了很多坑,加了N多班,其中的辛酸和快乐,可能只有自己知道. 先不谈BIOS,我就个人经 ...

  7. GLOG从入门到入门

    GLOG从入门到入门 1 C++日志需求 任何可用的工程代码,都无法保证不出bug.因此,日志系统对于工程代码非常重要.对于像耳东小白这样的初级程序员(感谢某高级程序员大佬赐予"初级程序员& ...

  8. Emacs Gnus 新闻组 入门使用

    一直用Emacs开发程序,现在开始打算将Emacs 生活化,用它来上新闻组聊天吧. GNUS是什么?具体网站请看下面 http://www.gnus.org/ 有两篇文章介绍如何使用GNUS新闻组,我 ...

  9. eselasticsearch入门_ElasticSearch入门 附.Net Core例子

    原标题:ElasticSearch入门 附.Net Core例子 1.什么是ElasticSearch? Elasticsearch是基于Lucene的搜索引擎.它提供了一个分布式,支持多租户的全文搜 ...

最新文章

  1. IOS个人开发者账号注册
  2. redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
  3. 用PQ的Windows版完成分区的一些调整工作
  4. java反射重要么_JAVA反射----这些知识你需要知道
  5. 做生意成败难料,你见过亏损最惨的人有多惨呢?
  6. seo vue 动态路由_基于vue.jsvue-router的动态更新TDK(SEO优化)
  7. 大数据课程之Flink
  8. [C++]踩坑日记:内存别名
  9. 天涯python_用python做了个简易的天涯脱水功能
  10. 2021蓝桥杯——直线
  11. linux 运维工程师必备技能
  12. 动态优化模型/ 变分法:泛函、极值、变分
  13. 流量矩阵常见的两种估计方法对比
  14. CAD制图初学入门 零基础学CAD要掌握技能精选
  15. 【图像隐藏】基于小波变换DWT实现数字水印嵌入提取含各类攻击附matlab代码
  16. 【补充习题三】待定常数法之微分中值定理
  17. git Cherry-pick Failed your local changes would be overwritten by cherry-pick. hint: commit your
  18. 深度学习 机器学习基础_实用的机器学习基础
  19. RRDtool 中文攻略
  20. css实现从左到右渐变色

热门文章

  1. [BZOJ2730]:[HNOI2012]矿场搭建(塔尖)
  2. html5游戏开放平台,QQ游戏
  3. 小学计算机会取消,小学教育将迎来大变动,学前班可能被取消,同时还有一个坏消息...
  4. java数组搞笑_面试官:小伙子,给我说一下Java 数组吧
  5. python读写excel指定sheet
  6. Top-Notch Insertions(思维/组合/线段树)
  7. 使用jQuery-File-Upload-master文件上传插件实现真实进度条
  8. 如何改变CorelDRAW的外观主题皮肤?
  9. 抱团发展成云服务厂商共识
  10. 路由器手机可以连接上,电脑却连接不上,也不显示网络名称?