Emacs基本的按键与命令

Emacs基本的按键与命令,第1张

C- :表示键盘上的 Ctrl 键亏败含誉

M- :表示键盘上的 Alt 键

S- :表示键盘上的 Shift 键

DEL :表示键盘上的 Backspace 键,注意,不是 Delete 键

RET :表示键盘上的 Enter 键

SPC :表示键盘上的 Space 键

ESC :表示键盘上的 Esc 键

TAB :表示键盘上的 Tab 键

C-x C-f :打开一个文件,或者创建一个不存在的文件

M-x find-file :作用同上

C-x k :关闭一个 buffer ,作用等于关闭已经打开的文件

C-x C-s :保存文件内容,即将修改的文件内容写入磁盘

M-x save-buffer :作用同上

C-x C-w :将当前文档保存为另一个文件,即另存为

M-x write-file :作用同上

C-x b :切换文件,即切换缓冲区 buffer

说明:实际上在 Emacs 中,文件与 buffer 是不同的实体,文件一般指的是磁盘上的数据体,而 buffer 是 Emacs 中作为文件修改临时缓存的缓冲区,注意区别。

Emacs具有一个被称为 ido 的模式,全称为 interactively do things ,在 ido 模式下,可以更加方便地选择列表元素,相比使用Tab进行自动补全更加便利。

M-x ido-mode :使能或者禁止 ido 模式

可以在 Emacs 的启动配置中添加以下语句,以默认打开 ido 模式:

(setq ido-enable-flex-matching t) (setq ido-everywhere t) (ido-mode 1)

C-x C-b :列出buffer列表

M-x list-buffers :作用同上

在 Emacs 中,还存在功能更灵活的 buffer 管理模式,被称为 ibuffer 。可以通过以下命令进入 ibuffer :

M-x ibuffer :进入 ibuffer 管理模式

一般我们可以在Emacs的配置文件中进行ibuffer的命令键绑定:

(global-set-key (kbd "C-x C-b") 'ibuffer)

ibuffer 的过滤命令包括:

/m :以 major mode 方式添加过滤

/n :以 buffer 名称的方式添加过滤

/c :以 buffer 内容的方销老颤式添加过滤

/f :以文件名称的方式添加过滤

/>:以 buffer 大小的方式添加过滤

/<:以 buffer 大小的方式添加过滤

// :删除当前所有有效的过滤

ibuffer 的过滤组的命令包括:

/g :创建一个过滤组

TAB :移动到下一个过滤组

M-p :移动到上一个过滤组

/\ :删除当前所有的过滤组

/S :将当前过滤组保存为一个名称

/R :恢复之前保存的过滤组

/X :删除之前保存的过滤组

ibuffer的排序命令包括:

s a :以字母顺序排序

s f :以文件名称顺序排序

s v :以上次访问时间排序

s s :以 buffer 大小排序

s m :以 major mode 排序

s i :反序当前的 buffer 顺序

可以在文件的任何地方设置书签,后续可快速跳转到书签处,书签相关的命令为:

C-x r m :在当前光标处设置书签,需输入书签名称

M-x bookmark-set :作用同上

C-x r b :跳转到某个书签处

M-x bookmark-jump :作用同上

C-x r l :列出当前所有的书签列表

M-x bookmark-bmenu-list :作用同上

在书签列表状态下,可以使用以下的命令:

RET :打开书签标识的区域

s :将当前书签列表保存至文件中

r :修改光标所在的书签的名称

d :将书签打上删除标识

x :删除已打标识的书签

u :取消已经打标识的书签

主要的光标移动 *** 作命令包括:

C-f :向前移动一个字符, f 表示为 forward

C-b :向后移动一个字符, b 表示 backward

C-p :向上移动一行, p 表示 previous

C-n :向下移动一行, n 表示 next

C-a :移动至行首

C-e :移动至行尾

M-f :向前移动一个单词

M-b :向后移动一个单词

C-v :向前滚动一个屏幕的内容

M-v :向后滚动一个屏幕的内容

M-a :移动至句首

M-e :移动至句尾

C-l :将光标重定位至屏幕中间一行,光标所在内容位置不变

M-r :将光标重定位至屏幕的顶部,中部,底部,光标所在内容位置不变

M-<:移动至 buffer 的开头处,注意,按键 <可能需要 Shift 键

M->:移动至 buffer 的结尾处,注意,按键 >可能需要 Shift 键

M-g c n :移动至第 n 个字符

M-g g n :移动至第 n 行(高于23.2版本的 Emacs 有效)

C-M-f :向前移动一个整的表达式,比如,光标可从函数开头的左 { 处移动到函数结尾的 } 处,按键绑定的命令是 forward-sexp

C-M-b :向后移动一个整的表达式,比如,光标可从函数结尾的右 } 处移动到函数开头的 { 处,按键绑定的命令是 backward-sexp

C-M-k :剪切一个整的表达式,按键绑定的命令是 kill-sexp

C-M-@ :选择一个整的表达式,按键绑定的命令是 mark-sexp

在 Emacs 中, kill 的意思就是 cut ,即剪切,剪切 *** 作的命令包括:

C-d :剪切当前光标所在的字符

C-S-DEL :剪切整个行, DEL 就是键盘上的 Backspace 键

M-d :剪切光标当前位置至词结尾的内容

M-DEL :剪切光标当前位置至词开头的内容

M-\ :剪切光标所在的所有空白符

M-SPC :剪切光标所在的所有空白符,除了光标所在的位置

C-k :剪切光标当前位置至行尾

M-k :剪切当前的整个句

C-y :粘贴 *** 作

一般在 Emacs 中,默认的选择 *** 作,需要使用 C-SPC 按键,但是通常在 Win 中,此按键与系统默认的切换输入法的按键冲突,如果无法修改系统的按键,则可以修改 C-SPC 按键,在 Emacs 的启动脚本中添加以下的语句:

(global-unset-key (kbd "C-SPC")) (global-set-key (kbd "M-SPC") 'set-mark-command)

以下以 M-SPC 作为默认的选择命令:

M-SPC :以光标所在位置为起点,移动光标,所选区域被高亮选中

C-w :剪切高亮选中的区域

M-w :复制高亮选中的区域

C-y :粘贴高亮选中的区域

C-/ :撤销 *** 作

C-x u :作用同上

Emacs 具有多种查找方式。

增量查找 :通过按键 C-s 来执行增量查找,反复执行 C-s ,可逐个定位各个匹配点。

C-s :执行增量查找,输入查找字符后,重复执行 C-s 可逐个定位匹配点,按键绑定的命令是 isearch-forward

C-r :执行增量查找,是从文档的后端往前查找,重复执行 C-r 可逐个定位匹配点,按键绑定的命令是 isearch-backward

C-u C-s :按照正则表达式执行增量查找

Occur查找 :使用增量查找,若匹配点比较多,只能通过反复执行按键,逐个越过各个匹配点,才能定位到我们需要的匹配点,为了解决这个问题, Emacs 提供了 Occur 查找,执行后,可在 Occur 缓冲区列出一个匹配点的列表,可更加直观地查看所有的匹配点。

M-s o :执行Occur查找

M-g n :定位到下一个匹配点

M-g p :定位到上一个匹配点

在 Occur 缓存区,可以执行的命令主要包括:

C-n :移动至下一行

C-p :移动至上一行

o :跳转至匹配点,光标也移动至匹配点

C-o :跳转至匹配点,但是光标还停留在 Occur 缓冲区

e :编辑当前的 Occur 缓冲区

C-c C-c :退出编辑 Occur 缓冲区

M-% :执行查找替换,该命令需要两个输入,即需要被替换的字符串,与替换后的字符串。输入字符串后执行 RET , Emacs 会询问是否确定执行替换 *** 作,若输入 ! ,则执行所有匹配点的替换,若输入 yes ,则只执行当前光标所在的匹配点的替换。注意,输入 % 可能需要执行 Shift 键

C-x 2 :将当前窗口切为上下两个窗口,该按键绑定了命令 split-window-below

C-x 3 :将当前窗口切为左右两个窗口,该按键绑定了命令 split-window-right

C-x o :在多个窗口之间切换,注意,按键中的是小写字母 o ,该按键绑定了命令 other-window

C-x 1 :关闭其他的窗口,只保留当前光标所在的窗口

Emacs 具有一个内置的 Dired 模块,是 Directory Editor 的简称,顾名思义,该模块是对目录进行管理编辑的模块。

Dired 模块的主要命令包括:

C-x d :选择一个目录,并在那个目录上启动 Dired

C-x C-f :选择当前目录下的某个目录,并在那个目录上启动 Dired

在 Dired 目录下可以执行:

n :向下移动一个

p :向上移动一个

C-s :使用增量查找,查询 Dired 入口

C-x C-f :创建一个新的文件

f :打开光标所在的文件

e :作用同上

RET :作用同上

o :在另一个窗口上打开光标所在的文件

C-o :在另一个窗口上打开光标所在的文件,但是光标不会移动到新的窗口

v :以只读的方式打开文件

^ :在新的Dired Buffer中打开父目录

m :标识文件或者目录入口

%m :标识那些名称匹配正则表达式的文件

%g :标识那些内容匹配正则表达式的文件

C :拷贝文件(或者是 S-c ),拷贝的是当前光标所在的文件,或者已经标识的文件

R :移动文件(或者是 S-r ),移动的是当前光标所在的文件,或者已经标识的文件

H :创建一个硬链接(或者是 S-h )

S :创建一个符号链接(或者是 S-s )

M :改变文件的权限位(或者是 S-m ),改变的文件是当前光标所在的文件,或者已经标识的文件

d :将文件打上删除的标识

u :删除文件已经打上的标识

x :确认并执行删除已经打上删除标识的文件

~ :给所有的 backup 文件打上标识

= :比较文件

emacs的基本 *** 作

(1)光标的移动

下面列出emacs中的光标的移动情况及其键盘 *** 作:

M-b:光标移动到光标左边的单词的开始处。

M-f:光标移动到光标右边的单词的开始处。

M-a:光标移动到当前句子的开始处。

M-e:光标移动到当前或轿句子的结束处。

C-n:光标移动到下一行。

C-p:光标移动到上一行。

C-a:光标移动到行首。

C-e:光标移动到行尾。

M->:光标移动到文件尾。

M-<:光标移动到文件头。

(2)文本的 *** 作

①插入文本的 *** 作

②删除文本的 *** 作

③取消 *** 作

④粘贴 *** 作

⑤查找和替换

(3)文件的 *** 作

C-x C-f:在屏幕底部出列“Findfile:/_”等待用尸输入文件名,如输入“/myfile.txt”则提示(newfile),清屏后光标出现在左贺凳上角,等待用户输入文本的内容。

C-x C-s:当将文本输入完毕后选择存盘 *** 作,屏幕底部提示出文本所在的目录及文件名“/myfile.txt”,指示出该文件存放在磁盘何处。

C-x C-w:当对一个原有的文本文件继续编辑或修改后需将改变后的文件重新保存。这时emacs会提示“/myfile.txt”existsoverwrite?(y or n)_当回答“y”后,提示信息“/myfile.txt”(重写该文件)。

C-x C-c:当确定结束对emacs编辑器的使用,可选择 File菜单中的Exitemacs选项退出emacs。如果没有对输入或修改的内容存盘,emacs会提醒用户别忘记做保存文件 *** 作。

(4)窗衫拍肆口的 *** 作

窗口就是屏幕区域,用户可以使用多个窗口来对一个缓冲区的不同部分进行 *** 作,或对不同的缓冲区进行 *** 作。

当用户使用C-x C-f来打开一个文件的时候,emacs将会创建一个缓冲区,用户在其中进行编辑 *** 作。emacs允许同时对多个缓冲区中的文本进行编辑,比如在缓冲区互相粘贴、剪辑等等。用户还可以直接输入快捷键(C-x C-b)查看所选择的是哪个缓冲区,9-4所示。

用户可以使用两种方法在当前窗口的不同缓冲区间进行切换:

(1)使用Buffers菜单,它包括当前时刻打开的所有的缓冲区,在其中选择,就能切换到想要编辑的文件。

(2)使用键盘对缓冲区进行 *** 作,键入C-x b命令,然后按下RET(RET,即键盘上的回车键Enter。任何一个命令输入完毕时,必需紧跟着一个Enter,它的作用是用来告诉系统,命令输入已经结束,可以开始执行相关的动作了),就能立刻切换到位于当前编辑缓冲区的前一个缓冲区,或按Tab键,得到一个缓冲区的列表,然后输入需使用的缓冲区的名字(也可以用鼠标单击名字)。要关闭一个缓冲区,先切换到该缓冲区,键入C-x k,最后按下回车键。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12289780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存