移动
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
d    dired
o    org mode
 
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))
 
05-11 22:22