使用Emacs

Posted 吕田论坛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Emacs相关的知识,希望对你有一定的参考价值。

宏的编辑

自由软件运动和GNU项目的创始人Richard M. Stallman在七十年代开始在Emacs上开发,像Vi一样,它已经成为Unix / Linux世界的主要工具。Emacs代表编辑MACroS,Stallman在麻省理工学院开发,因此他可以更轻松地使用相当困难的TECO编辑器。Stallman于1984年在当前版本GNU Emacs上开始了开发。这是GNU项目应用程序的基石。经过近二十年的发展,它有更多的功能,你可以撼动一根棍子。需要一本百科全书来记录Emacs现在可以做的所有事情。Emacs的用户称其为准操作系统。我们在这里要做的是主要讨论它的文本编辑功能,它们只需要6个小时的时间!

用于X-window和XEmacs

的Emacs Emacs项目的分支叫做XEmacs,甚至包括一个Web浏览器。我们不是在谈论这个应用程序。我们将要处理的是GNU Emacs,它可以在文本模式或X窗口版本中使用。X的版本包括可点击的菜单和其他GUI功能,但是纯粹的GNU Emacs也是一样的。从现在开始,我们将要提到的所有关键笔画在X-window版本中都是非常有用的,因为如果以文本模式运行它们,它们是必需的。

Emacs键击简介

像Vi一样,为了利用Emacs,你需要知道一些击键的基础知识。大多数Emacs命令都是基于CTR +?,CTR + x +?,CTR + c +?,ESC +?(哪里?是一些关键)。还有按Alt + x的附加功能,打开所谓的迷你缓冲区。但是在我们谈论迷你缓冲器之前,我们来谈谈成熟的缓冲器。

Emacs在所谓的缓冲区中打开文件。特别是在文本模式下使用Emacs时,这非常有用。这些缓冲区就像准窗口一样。你可以打开一个新的文件/缓冲区,键入:CTRL + x + f。您可以通过键入CTRL + x + b来回切换。迷你缓冲区是一个小型缓冲区,您可以执行Emacs命令。您只需键入ALT + x,光标将开始在微型缓冲区中闪烁。您只需输入一个字母,emacs就会开始显示所有以该字母开头的命令。假设您想用程序“ispell”检查缓冲区中文本的拼写。你可以输入:

ALT + x + i + TAB

迷你缓冲区开始变小一点,开始看到所有以字母“i”开头的命令。当然,你知道ispell是以'isp'开始的,所以如果你继续输入这些字母,你将会看到ispell命令。继续输入字母,直到得到你想要的ispell命令,在我们的例子中是“ispell-buffer”。按回车,Emacs将调用ispell来检查你的整个文本文件。

迷你缓冲区是你的朋友:你在迷你缓冲区输入的命令不会消失,直到你关闭Emacs,所以你不必输入相同的命令。只需按下向上箭头,直到找到之前使用的命令。

使用Emacs进行基本编辑

要在emacs中打开文件,只需键入:

emacs the_file

如果要打开另一个文件,请键入:

CTRL + x + f 
并开始输入。当你想保存你的文本,只需按下:

CTRL + x + s 

当你完成后,你可以像这样关闭或“杀死”缓冲区:

CTRL + x + k 
你也可以做杀戮(我知道声音hide!!)并按下

CTRL + x + c 
同时保存,系统会提示您保存文件或退出。

More keystrokes = more power

GNU Emacs非常适合GUI的工作,你可以点击菜单项和选项,并获得相同的结果。但是,您可能会发现,在连接到远程主机时,X不可用(通常出于安全原因),或者太慢而不切实际。那么显然,你需要知道不同的组合键才能获得丰富的成果。在这里,我们将解释一些可用于完成工作的更重要的组合键。

消除事情

你如何摆脱一个你不想要的词?你杀了它。要“杀”一个字,你可以按下:

ESC + d 

让我们想象一下,你刚刚输入了一些有点奇怪的东西:

“保加利亚的雨主要落在地面上” 

问题:你不想在文本中找到这条线。解?更多的杀害。将光标放在该行的开头,然后按下:

CTRL + k 
Voila。该行将消失。


定位和替换

如果你在一个文本文件的开头,你想在文本中找到一个或多个单词,所有你需要做的是按下:

CTRL + s 

这将打开一个迷你缓冲区,你可以输入你正在寻找的文字。Emacs将自动去寻找它。如果你在一个文件的末尾,你可以通过输入:

CTRL + r 来进行反向搜索


您也可以通过按

ESC +%(百分比)替换单词
.Emacs将会切换到迷你缓冲区,并首先询问您要替换的单词,然后它会询问替代单词。它会一个一个显示的话,并要求你的同意。只需输入'y'即可。如果要替换该单词的每个实例,只需键入“!” (感叹号),Emacs会立即改变它们。 不要

做事

想象一下,你只是“杀了”一个字。如果你感到内疚,你可以通过按下

CTRL + x + u 来让你的单词恢复生机
。你将撤销你最后的改变。如果你一直这么做,那么在你开始编辑之前,你一直都在做其他事情。

有一些替代击键来做同样的事情。例如,CTRL + SHIFT + - (短划线)也可以撤消。ALT + SHIFT +%(百分号)也可以让你找到并替换。选择一个更舒适或更容易记住的。

Emacs命令 - Unleashed Power Turbo Edition

正如我在本节初学者所暗示的那样,Emacs有这么多的命令,在这里谈论它们是不实际的。但是,我们可以谈论那些使您的Emacs生活变得更容易

的事情。改变文本的案例

想象一下,您已经输入了大写字母,而且大写字母应该小写,反之亦然。所有你需要做的就是找到这个单词并输入:

ESC + l 

改变为大写:

ESC + u

要将一个单词大写,请将光标置于第一个字母上,然后按:

ESC + c 

剪切和粘贴

剪切和粘贴不仅适用于那些花费巨大的超级文字处理器。你可以使用Emacs进行剪切和粘贴。

首先,要选择一个单词,剪切并粘贴它,你需要做下面的事情:

要选择一个单词,你可以这样做:

ESC - @ 

现在剪切单词,按照下面的步骤操作:

CTRL + w 

现在,粘贴单词,做到这一点:

CTRL + Y 
你也可以用句子,段落和整个缓冲区做到这一点。你只需要改变上面的第一步。第二和第三个保持不变。

要选择一个句子或短语,请执行以下操作:

CTRL + SPACE + SHIFT
并移动向右箭头,并选择你想要的文字量。

选择一个段落会更容易一些:

CTRL + h 
要选择整个文本缓冲区,是类似的:

CTRL + x + h 

再次,如我所述。切割和粘贴的命令是一样的。但现在,让我们想象你不想削减。你只是想复制和粘贴。要复制单词,句子,段落等,您只需按以下键:

ESC + w 
然后,您可以将其放到不同的缓冲区或打开一个新的,并用CTRL + y粘贴文本

检查拼写

使用Emacs,你可以轻松地检查你的拼写。要检查单词的拼写,只需将光标放在单词上,然后按下:

ALT + SHIFT + $(美元符号)
浏览缓冲区你可以轻松地从开始到文件到按键结束 - 不需要穿箭头按钮!

ESC + < 
将把你带到文件的开头,

ESC +> 
会使你到最后。

要在段落之间进行导航,请使用

ESC +} 组合
到达段落的开头,然后:

ESC + { 
转到段落的末尾。

分割窗口

在使用前的几天,这个功能一定非常感谢。今天,我们理所当然地认为,你可以打开很多不同的应用程序窗口,这个功能仍然值得赞赏,特别是当你需要比较同一个文件的部分时。要将窗口分成两部分,垂直方向,只需按下:

CTRL + x + 2 

当您必须一次查看文件的两个部分时,这非常方便。要返回到正常模式,请按:

CTRL + x + 1 
您甚至可以再次分割缓冲区,并具有三个,四个或更多个部分。只需按CTRL + x + 2在每个部分。

您还可以使用按键水平分割窗口:

CTRL + x + 3 
CTRL + x + 1也用于使Emacs恢复到正常模式。

Emacs调整

如果您对Emacs默认的功能不满意,您可以修改主目录中的文件,并将Emacs的行为更改为您的内容。

在您的主目录中,在许多“点”文件中,您会找到一个名为.emacs的文件。

这个文件是用Emacs Lisp编写的,它是编程语言Lisp的一个变体。所以你不但要调整你的.emacs文件,还要在这个过程中学习一些Lisp编程。

有些人,比如Paul Graham,认为Lisp是更好的编程语言之一。以开发垃圾邮件的贝叶斯过滤而闻名的格雷厄姆,使用Lisp开发了Yahoo Store系统。另一方面,有些人认为括号主导语法太多了。Perl的创始人拉里·沃尔(Larry Wall)曾一度将口齿伶俐的食物与混有趾甲的谷物进行比较。无论您的偏好是什么,我认为重要的是,我们拥有各种各样的Linux工具。

一个简单的调整

大多数用户对他们的.emacs文件做出的第一个改变是添加一行,删除Emacs启动时显示的默认文本。如果你也想这样做,只要打开你的.emacs(当然是Emacs本身!),并添加下面这行:

(setq inhibit-startup-message t)

如果你想对你做些什么的评论刚刚完成的时候,你会在它们之前放一个分号,这就是区分Emacs Lisp中代码的注释,所以你可以在文件中写这样的东西

;;不要显示启动消息
(setq inhibit-startup-message t)

我觉得有用的另一个小东西是这样的调整:

;使所有的“是或否”提示显示“Y或N”而不是
(fset 'yes-or-no-p 'y-or-n-p)

当Emacs询问我是否要退出而不保存等情况时,只需要输入“yes”(这是Emacs的默认行为)就可以节省我的时间。现在,我只需键入字母'y'或'n ”。这并不是说它在王室计划中特别重要,但总结起来说,2次中风可能会使键盘的使用时间延长3.76天。

键盘快捷键

说到键盘,Emacs有一些很好的内置键盘快捷键,但是Emacs有这么多的东西,所有这些功能都不可能绑定到键盘快捷键上。所以如果你最喜欢的功能是缺少一个快捷方式,不要担心。您可以通过修改.emacs文件来创建一个。

如果您进行了大量的编程,您可能需要添加的内容之一就是您的程序的第X行的键盘快捷键。由于这种不存在默认情况下,你将它添加到你的.emacs像这样:


;; make CTRL+x+g goto-line(global-set-key "C-xg" 'goto-line)


正如你会记得,键盘快捷键都是基于CTRL,ALT和ESC键,所以当你创建键盘快捷键,您需要使用Emacs Lisp可以识别这些键的字符。他们是:

CTRL = \ C- 
ESC = \ e- 
ALT = \ M- 
如果您使用Emacs写电子邮件,您可以创建一个捷径来撰写电子邮件:
;; open mail in other 'buffer'
(global-set-key "M-m" 'mail-other-window)

你可以做什么来调整你的Emacs行为是没有限制的。Emacs提供各种帮助文件,教程,甚至游戏,如果你觉得无聊。在你的系统管理任务中应该有无法估量的帮助。

关注吕田论坛获取更多资讯


点击原文进行查阅吕田博客之旅


以上是关于使用Emacs的主要内容,如果未能解决你的问题,请参考以下文章

emacs使用本地emacs server模式打开远程文件

神的编辑器 - Emacs

使用 Emacs 作为 IDE

2020-03-01emacs 中使用LISP

如何让 Emacs 使用我的 .bashrc 文件?

[神器] Emacs 神之编辑器使用入门