移动
C-v 向前翻页
M-v 向后翻页
C-l 当前行居中显示 继续按会依次到上,下,中
C-x C-c 退出
C-g 退出一个正在运行的命令,还可以取消数字参数和只输入到一半的命令
光标控制
C-p previous
C-n next
C-M-p 多行向上
C-M-n 多行向下
C-f forward
C-b backward
M-f forward a word
M-b backward a word
通常的惯例是:META 系 列组合键用来操作“由语言定义的单位(比如词、句子、段落)”,而 CONTROL 系列组合键用来操作“与语言无关的基本单位(比如字符、行等等)”。
C-a
C-e
M-a
M-e
M-< move to document begin
M-> move to document end
C-u 数字 命令 数字前缀,执行多少次
窗口
C-x 1 只保留当前一个窗口
帮助
C-h k 快捷键 查看快捷键详细文档
C-h t 打开tutorial
C-h c 快捷键 查看命令定义
C-h f 函数名
C-h v 显示emacs变量的文档
C-h a xxx 相关命令搜索
插入与删除
C-u 8 字符 insert how many chars
<DEL> 删除光标前的字符
C-d 删除光标指向的字符
M-<DEL> 移除前一个单词
M-d 移除光标后一个词
C-k 移除到行尾
M-k 移除到句尾
C-<SPC>高亮文本,再C-w移除高亮文本 注意删除和移除不同
C-y 恢复移除的文字
M-y 循环之前移除的内容
撤销
C-/ 等价于 C-x u
文件
C-x C-f 文件名 打开文件
C-x C-s [文件名] 保存文件
第一次存盘的时候 Emacs 会将原文 件重命名以备份。重命名的规则通常是在原文件名之后添加一个“~”字符。
关掉文件备份可以用如下命令: M-x customize-variable <Return> make-backup-files <Return>】
缓冲区
C-x C-b 列出缓冲区
C-x b 缓冲区名 切换缓冲区
C-x s 保存多个缓冲区
命令集扩展
C-x 字符扩展,之后输入另一个字符或者组合键
M-x 命令字扩展,之后输入一个命令名
M-x repl s<Return>changed<Return>altered<Return> 替换文本
自动保存
Emacs 会定期将正在编 辑的文件写入一个“自动保存”文件中。自动保存文件的文件名的头尾各有一个 “#”字符,比如你正在编辑的文件叫“hello.c”,那么它的自动保存文件就叫 “#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。
所以,假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保 存文件)然后输入 M-x recover file <Return> 来恢复你的自动保存文件。在 提示确认的时候,输入 yes<Return>。
切换模式
M-x text-mode
M-x fundamental-mode
C-h m 查看模式的文档
M-x auto-fill-mode 开启/关闭自动折行
M-x linum-mode 开启行号
M-x eval-buffer
M-x load-theme 加载主题
M-x package-list-packages 打开包管理系统
i 安装
u undo
d 删除
x 执行操作
U 更新所有package
M-x package-autoremove
M-x custom-group 配置模式的配置
M-x find-function 查看函数定义
M-x find-variable
M-x find-function-on-key
搜索
C-s
C-r
多窗格管理
C-x 2 会分成上下两块
C-x 3 会左右分割
C-M-v 会滚动另一个窗格
C-M-S-v 向上滚动另一个窗格
C-x o 光标遍历窗格
C-x 4 C-f 在新窗格打开文件
多窗口管理
M-x make-frame 新建一个窗口
三次ESC 比C-g的优点在于可以退出递归编辑
M-<RET> 自动调整标号顺序
---
spacemacs
SPC
SPC M-x
TAB last buffer
' open shell
* search current word in project
/ search project
1-9 select window
; evil comment
? show keybinding
v expand regions
f1 helm apropos
SPC a
SPC b
b list buffers
d kill this buffer
e safe erase buffer
f reveal in osx finder
h switch to home buffer
m switch to message buffer
N n new empty buffer
x kill buffer and window
P copy clipboard to whole buffer
Y copy whole buffer to clipboard
C-d kill other buffers
SPC d
d dash at point
SPC e
l flycheck error list
SPC f
A find file and repalce buffer
C d/u unix2dos/dos/2unix
c copy file
E sudo edit
e d find dotfile
e R sync configuration
e U update packages
f helm find files
h hexl find file 二进制打开文件 ,x ,X进行十六进制编辑
i insert file
j dired jump
r helm recentf
s save buffer
y y copy file path
SPC g
s magit status s添加staged cc 提交commit
SPC h
SPC helm spacemacs help
d help describe
l helm spacemacs help layer
SPC i
l p 插入一段随机单词列表
p 插入随机生成密码
U 插入随机UUID
SPC j
i helm jump in buffer 会列出函数,类定义等
j avy timer
l avy line
SPC m (,) -> python
= fotmat buffer
c c python execute file
g a find assignment
g g jump to definition
g G jump to definition other window
g u find references
h d helm pydoc
t test
v virtualenv
SPC o
y 有道词典查光标指定的词
SPC p
f helm projectile find file
p helm switch project
SPC q
Q kill emacs
q prompt exit emacs
R restart emacs
s save buffers kill emacs
SPC s
s helm swoop
p search project
c clear search highlight
SPC w
-/s split below
/ 或v split right
[ 进入windows resize
d delete window
M swap window
m 最大化当前buffer
S 水平分割并移动焦点
V 垂直分割并移动焦点
w other window
x kill buffer and window
跳转总结
SPC j j 屏幕内定位
H M L 直接移动到屏幕头中底部
SPC s s buffer内定位
/ buffer内定位
SPC / 项目内定位
z
z 将当前行移动到屏幕中间
a toggle fold
r 解开所有折叠
m 折叠所有
g
d jump to definition
D jump to definition other window
y copy and commit line
SPC t
l toggle line wrap
----
spacemacs dired 使用
d delete
u undelete
x punge
= file diff
C copy
T touch 修改时间戳,基于标记
G chgrp
D do delete
Z 压缩
y 显示文件类型
^ 上级目录
------
doom emacs
SPC
DEL blink current line
RET create of jump to bookmarks
SPC find file in project
' resume last search
* search for symbol in project
, switch to workspace buffer
. find file
: M-x
; eval expression
< switch to buffer
` switch to last buffer
x pop up scratch buffer
~ toggle last popup
SPC /
k look up in all docsets
o look up online
b search current buffer
d search current directory
f locate file
i jump to symbol
p search project
SPC b
k kill buffer
SPC c
D jump to reference
d jump to definition
f format buffer/region
k jump to documentation
r open REPL (python)
x list errors
e eval buffer/region
SPC f
. find file
/ 或者 f find file from here
p browser private config
R recent project file
l locate file
r recent file
y yank file name
SPC g
g magit status
SPC i
s insert snippet
SPC o
- dired
e open eshell
b default browser (open)
o reveal in finder
SPC p
/ find file in project
p switch project
SPC q
q quit emacs
r restart & restore emacs
SPC w
s split window
v vsplit window
c delete window
o window enlarge
h/j/k/l move to left/down/up/right window
r rotate window
文件跳转
SPC SPC jump to file in project
SPC . jump to file from current directory
项目 搜索&替换
SPC / b
SPC / p
SPC / d
-----
现在doom emacs 的配置 config.el
;;; .doom.d/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here
(after! org
(dolist (face '(org-level-1
org-level- org-level-
org-level- org-level-
org-level- org-level-
org-level-))
(set-face-attribute face nil :weight 'normal))
)
(setq doom-font (font-spec :family "DejaVuSansMono Nerd Font Mono" :size ))
;; (set-face-attribute 'org-table nil :family “Inconsolata”)
;; (setq doom-font (font-spec :family "Sarasa Term SC" :size ))
(set-frame-position (selected-frame) )
(pushnew! initial-frame-alist '(width . 100) '(height . ))
;; (load-theme 'doom-gruvbox t)
(def-package! pyim
:ensure nil
:demand t
:config
;; 激活 basedict 拼音词库,五笔用户请继续阅读 README
(use-package pyim-basedict
:ensure nil
:config (pyim-basedict-enable))
(setq default-input-method "pyim")
;; 我使用全拼
(setq pyim-default-scheme 'quanpin)
;; 设置 pyim 探针设置,这是 pyim 高级功能设置,可以实现 *无痛* 中英文切换 :-)
;; 我自己使用的中英文动态切换规则是:
;; . 光标只有在注释里面时,才可以输入中文。
;; . 光标前是汉字字符时,才能输入中文。
;; . 使用 M-j 快捷键,强制将光标前的拼音字符串转换为中文。
(setq-default pyim-english-input-switch-functions
'(pyim-probe-dynamic-english
pyim-probe-isearch-mode
pyim-probe-program-mode
pyim-probe-org-structure-template))
(setq-default pyim-punctuation-half-width-functions
'(pyim-probe-punctuation-line-beginning
pyim-probe-punctuation-after-punctuation))
(setq pyim-punctuation-dict nil)
;; 开启拼音搜索功能
;; (pyim-isearch-mode )
;; 使用 pupup-el 来绘制选词框, 如果用 emacs26, 建议设置
;; 为 'posframe, 速度很快并且菜单不会变形,不过需要用户
;; 手动安装 posframe 包。
(setq pyim-page-tooltip 'posframe)
;; 选词框显示5个候选词
(setq pyim-page-length )
:bind
(("s-j" . pyim-convert-string-at-point) ;与 pyim-probe-dynamic-english 配合
))
;; (setq org-agenda-files (list "~/Documents/org/todo.org"))
;; (after! anaconda-mode (setq anaconda-mode-localhost-address "localhost"))
(display-time-mode t)
(map!
:leader
:g "j" 'avy-goto-char-timer)
(after! avy
(setq avy-timeout-seconds ))
;; (toggle-truncate-lines)
(+global-word-wrap-mode t)
;; (def-package! nov
;; :ensure nil
;; :config
;; (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)))
;; (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)))
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
- 写一些有关android的东西吧,那时候玩android时候的一些笔记
写一些有关android的东西吧,那时候玩android时候的一些笔记
- 玩蛇记之用python实现易宝快速支付接口
玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支 ...
- ESP8266 玩板记
一.前言 esp8266的玩板记,后面应该会去更一些其他东西,这一块内容,这算是收官之战了. IoT,江湖有缘再相会 二.ESP8266实现WiFi杀手/钓鱼 这次的博客做的是一个娱乐性较强的项目. ...
- ExceptionLess新玩法 — 记日志
ExceptionLess 之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再 ...
- 玩蛇记--Python处理海量手机号码
一.任务描述 上周,老板给我一个小任务:批量生成手机号码并去重.给了我一个Excel表,里面是中国移动各个地区的可用手机号码前7位(如下图),里面有十三张表,每个表里的电话号码前缀估计大概是八千个,需 ...
- NOIP2016 玩脱记
NOIP前: NOIP前停课了一个多月,这一个多月里浪得飞起,内心十分紧张,然后就不知不觉就到NOIP了. Day 0: 上火车前ryc给我们出了道题"一个数列,只有两个数出现了奇数次,找出 ...
- 看的oracle数据库视频 记的一点笔记
3个默认的用户 sys //网络管理员 权限由上到下降低 [最后加上 as sysdba] system //本地管理员 scott //普通用户 默 ...
- <玩转Django2.0>读书笔记:邮件和分页
1. 发送邮件 # settings.py设置 # 邮箱设置 EMAIL_USE_SSL = True # 邮件服务器 EMAIL_HOST = 'smtp.qq.com' # 邮件服务端口 EMAI ...
- <玩转Django2.0>读书笔记:表单
1. 表单字段 参考: 官方文档 Django表单字段汇总 2. 表单代码示例(forms.Form) # form.py代码 # 获取数据库数据 choices_list = [(i+1,v['ty ...
随机推荐
- elasticsearch http 搜索 测试
1.查询所有的documents http://192.168.43.45:9200/_search boost parameter 细粒度搜索条件权重控制 如:组装多个查询条件,其中一个匹配的想要优 ...
- ShutdownHook- Java 优雅停机解决方案
想象一下,如果你现在刚好在 word 上写需求文档,电脑突然重启.等待开机完成,你可能会发现写了一个小时文档没有保存,就这么没了... 一个正在运行 Java 应用如果突然将其停止,影响不止数据丢失, ...
- Spring MVC拦截器学习
1 介绍 Spring Web MVC是基于Servlet API构建的原始Web框架. 2 拦截器 2.1 定义 springmvc框架的一种拦截机制 2.2 使用 2.2.1 两步走 实现Hand ...
- golang面试题--string操作
题目: 请实现一个算法,确定一个字符串的所有字符[是否全都不同].这里我们要求[不允许使用额外的存储结构].给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在 ...
- day 21作业
目录 一.定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放 二.使用abc模块定义一个phone抽象类 并编写一个具体的实现类 一.定义一个类:圆形,该类有半径,周长, ...
- python编程基础之十九
字符串判断常用函数: str.isalpha() # 判断是否是全字母 str.isdigit() # 判断是否是全数字 str.isalnum() # 判断是否是字母和数字组合 str.is ...
- Hyper-V 下linux虚拟机静态IP上网配置的两种方式(1)
工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下是桥接方式的配置: 本实例所用的各项资源说明,系统是windows10企业版64bi ...
- CS184.1X 计算机图形学导论 第3讲L3V1
二维空间的变换 L3V1这一课主要讲了二维空间的变换,包括平移.错切和旋转. 缩放 缩放矩阵 使用矩阵的乘法来完成缩放 缩放矩阵是一个对角矩阵,对角线上的值对应缩放倍数 错切(shear) 错切可以将 ...
- java架构之路-(Redis专题)Redis的主从、哨兵和集群
我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作. 主从架构 大致就是这样的,一个主节点,两个从节点(一般两个就 ...
- API---文件操作
CreateFile() 介绍: 功能:打开或创建以下对象,并返回可访问的句柄: 控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道. 函数原型:HANDLE CreateFile ( ...