emacs官网、安装、基本命令:移动、复制、黏贴、删除、查找

0.参考

官网
中文手册
李杀网

1.emacs安装

ubuntu18安装emacs

推荐emacs25

$   sudo apt install emacs25

最新版本emacs26

$   sudo add-apt-repository ppa:kelleyk/emacs
$   sudo apt update
$   sudo apt install emacs26

中文字体卡顿问题

文件中有中文就会卡,中文越多就越卡,在自己写的python文件中,只要在当光标移动到中文所在行附近才会卡。

打开菜单Options->Set Default Font,将字体改为宋体或者一种中文字体, 然后再回到Options菜单,点Save Options。这一步可千万别忘了,否则,关闭窗口后,重新打开又会出现同样的症状。

2.基本命令使用

首先通读Emacs -> Help -> Emacs Tutorial快速入门指南(30分钟左右)

忘掉网上其它的那些教程、手册吧,也忘掉emacs有几百种几千种命令吧。

emacs最简单入门:只要记住一个按键就行了: M-x . 按住Alt键再按x,在窗口最底下出现M-x的提示,在这里输入left-几个字符,按Tab键,出现两行提示 left-char,left-word,再输入一个c,再按Tab键,这时自动补全为left-char,按回车,如果有内容的话,当前的光标点向左移动,就像按了一个向左的方向键一样。 就这样?就这样!

就这样,发挥你的想象力,想象你现在需要做什么,把它翻译成英文单词,按 M-x,先输入几个字母,按Tab,看是否存在你想象中的指令。要取消当前操作的指令,多按几次ESC键或Ctrl-g键就取消了。

显示行号

display-line-number-mode 显示/不显示行号
linum-mode
global-linum-mode

获取帮助

Emacs 是一个富文档编辑器(Self document, extensible editor)而下面的三种方法在学 习 Emacs 的过程中也非常重要。他们分别是:

命令功能快捷键
find-function寻找函数的帮助信息C-h C-f
find-variable寻找变量的帮助信息C-h C-v
find-function-on-key寻找快捷键的帮助信息C-h C-k
discribe-mode查看当前主模式的文档C-h m

刷新.emacs配置文件

在.emacs文件中,将光标放到需要刷新的配置参数命令尾部,然后快捷键C-x C-e即可
eval-last-sexp EVAL-LAST-SEXP-ARG-INTERNA

或者关闭emacs界面,重新打开即可

移动

命令功能快捷键
previous-line上移一行C-p
next-line下移一行C-n
backward-char上移一个字符C-b
forward-char下移一个字符C-f
backward-word上移一个词 首位M-f
forward-word下移一个词尾部M-b
backward-sentence上移一个句子首位M-a
forward-sentence下移一个句子尾部M-e
beginning-of-line移到行首C-a
move-beginning-of-line移到行首C-a
end-of-line移动行尾C-e
move-end-of-line移动行尾C-e
scroll-up-command向前(下)移动一屏C-v
scroll-down-command向后(上)移动一屏M-v
recenter-top-bottom重绘屏幕,将光标移至屏中央C-l
backward-paragraph移动到下一个段落开头M-{
forward-paragraph移动到上一个段落的开头M-}
backward-page移动到下一页C-x [
forward-page移动到上一页C-x ]
beginning-of-buffer移动到缓冲区开头M-<
end-of-buffer移动到缓冲区尾部M->
goto-line n移动到第n行M-g g
goto-char n移动到第n个字符C-g c

Emacs 中对段落和句子的定义,Emacs判断句子和段落的条件是严格的。作为句子,需要两个空格在代表句子结束的符号后面,只有一个空格的句子并不会被识别,而是会被忽略。至于段落,在段落之前应该有至少一个空白字符,或者一个TAB,或者一个空白的行在这个段落前面。

撤销

undo
undo-only

重做

对撤销的撤销便是重做(或者向前撤销)
undo+undo=redo
undo 之后想要 redo ,就要进行一个其它类型的操作,随便输入一个字符或者移动一下光标都可以,不过标准答案是 C-g

其实redo就是对undo的undo,undo会将本身当作被redo的对象,但是连续的undo
之间不会被打断,(当然其中的每次undo仍然会视为一个change),通过 C-g' 打断连续的Undo操作,再C-/’ 就实现了对上次的undo 进行 undo,其实感觉上,
Emacs将一切操作线性化,即简化了设计,又符合人的思维次序

复制

https://codeday.me/bug/20170525/19404.html

Ctrl-a 光标到行首
Ctrl-Shift-Space 设置标记
Ctrl-e 光标到行尾。如此这一行就被选为激活的区域了
Alt-w 复制当前激活的区域
Ctrl-y paste(“yank”)

Emacs设计了一种叫kill-ring(kill环)的东西,类似现在大家所熟知的“剪贴板”,被kill的文本都存储在这个kill环中。在Emacs中,复制又叫kill-ring save,也就是指放到kill环中。

剪切

Emacs把剪贴动作称之为kill(杀死),也称之为wipe out(抹去,干掉),因为剪贴会将一块选择的文本抹去、干掉。Emacs剪贴快捷键Ctrl-W中的W就取自wipe这个单词的首字母。

kill-sentence 剪切从光标到当前句尾的所有文本。
kill-line 剪切从光标到当前行尾的所有文本。

粘贴

Emacs的粘贴也叫yank。yank这个单词原指动作“急拉“。粘贴快键Ctrl-Y的Y就取自yank这个单词。如果没有kill/kill-ring这些概念,从直觉上看,用yank引申出“复制”比“粘贴”更容易让人接受一些。但在Emacs中,有了kill/kill-ring这些概念,用yank引申出“粘贴”反而要合适了。因为,Emacs的粘贴,就是从kill环中取出最近一块被标为kill(杀死)的文本,在光标位置“复活”,有点像起死回生,或将将死之物从死亡线上拉回(yank)的概念。

yank
yank-pop

删除

参考:https://www.cnblogs.com/robertzml/archive/2010/02/19/1669204.html

命令功能快捷键
kill-region删除区域C-w
kill-whole-line删除整行C-S-Backspace
kill-line从光标处起删除该行C-k
kill-sentence删除光标起一句M-k
backward-kill-sentence往前删一句C-x Backspace
kill-word删除当前单词M-d
backward-kill-word删除光标前单词M-Backspace
kill-ring-save复制到kill 环,而不删除M-w
zap-to-char从光标位置删除到一个指定的字符M-z char
delete-blank-lines删除光标周围的空白行,保留当前行C-x C-o

zap-to-char 从光标位置删除到一个指定的字符,对于删除一定范围的字符(从光标直到一个特定的字符,包括该字符),该功能是很有用的。

操作如下:

  1. zap-to-char
  2. 键入 D 以删除自光标到第一个 D 字符(包括该字符)之间的全部内容

搜索

C-s 是向前搜索, isearch-forward
C-r 是向后搜索, isearch-backward

保存

M-x save-buffer 快捷键 C-x C-s
先切换回那个缓冲区,再用 C-x C-s 存盘,太麻烦了。你需要一个更简便的方法,而 Emacs 已
经为你准备好了:
C-x s 保存多个缓冲区
C-x s 会找出所有已被修改但尚未存盘的缓冲区,然后向你逐个询问:是否需要
存盘?

列出缓冲区(buffers)

M-x list-buffers 快捷键 C-x C-b

关闭/退出 emacs

M-x save-buffers-kill-terminal 快捷键 C-x C-c

块操作

用emacs打开一个文件测试

Alt+x   #选中命令栏,然后按键组合
move-beginning-of-line  #将光标移到当前行起始位置
Alt+x
exchange-point-and-mark      #输入命令,中间过程可以Table键匹配,设置光标标记为起始点
Alt+x
move-end-of-line  #将光标移到当前行结束位置
Alt+x
exchange-point-and-mark      #确认选中的范围

重复执行

Alt+n Ctrl+n 重复n次Ctrl+n(光标下移一行)

其它

参考:https://www.ibm.com/developerworks/cn/education/aix/au-emacs3/index.html

多窗格(mult-windows)

命令功能快捷键
delete-windows关闭当前窗格快捷键 C-x 0
delete-other-windows仅保留当前窗格快捷键 C-x 1
split-window-below将当前窗格分到上边快捷键 C-x 2
split-window-right将当前窗格分到右边快捷键 C-x 3

多窗口(mult-frames)

命令功能
make-frame新建窗口
delete-frame关闭窗口

3.使用问题

1.中英文字体显示

http://baohaojun.github.io/perfect-emacs-chinese-font.html

2.关闭emacs自动备份(通常由git进行管理)

emacs 配置文件添加如下内容:
;; Disable files backup function
(setq-default make-backup-files nil)

3.最近打开过的文件

emacs 配置文件添加如下内容:
;; recent open files
(recentf-mode 1)

4.右键菜单快捷键

如下编辑注册表
在这里插入图片描述

“path\to\emacsclientw.exe” --no-wait --alternate-editor=“path\to\runemacs.exe” “%1”
path\to为emacs安装路径

效果如下:
在这里插入图片描述

4.org mode

ZMonster’s Blog -> Emacs类
简单介绍与基本使用
任务管理
表格的基本操作及公式、绘图
使用 capture 功能快速记录
神器org-mode

自 Emacs 22 后,Emacs 都自带了可用的 Org mode,在 Emacs 中,Org mode 作为一个 major mode,在用 Emacs 打开(或新建)后缀为 “org” 的文件时即会启用。

4.1 org mode使用

* 一级标题     
** 二级

5.文件管理

Emacs文件管理神器–dired常用操作说明

6.package安装

1.diredfull安装

下载安装包
解压后文件路径例如:D:/emacs/diredful-master
打开emacs软件
M-x package-install-file D:/emacs/diredful-master/diredful.el

2.自动补全插件company

https://blog.csdn.net/grey_csdn/article/details/78966457
操作步骤:Option->Manage Emacs Packages->company->Install
emacs 配置文件添加如下内容:
(add-hook 'after-init-hook’global-company-mode)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿尔发go

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值