教程

shortcuts

  • windows switch: ,
  • buffer begin: SPC h
  • command mode: M-SPC
  • insert mode: f

kill 删除

  • kill-line:

    • SPC g
    • 从当前光标到行尾
  • kill block:

    • g
    • 删除整个块
  • cut line

    • x
    • 即剪切,直接删除一行

word delete 单词删除

  • r / e

comment

  • z

mark

  • t: activate mark
  • SPC s: C-x C-x swap mark and point
  • SPC a: mark all buffer

recenter

  • SPC p: C-l in vanila emacs

begin end

  • h / ;

word jump

  • u / o

whitespace 空白符处理

插入

  • 后面插入 换行: s
  • 前面插入 空格: p

删除空格

  • w

    • 先删后面
    • 再删前面
    • 没有则插入前面一个空格

配对括号跳转

  • 开头结尾: /
  • 下一个: .
  • 上一个: m

case 大小写转换

  • b

换行

  • s

file

save

  • SPC ;

file keymap

  • SPC i
find file (vanila emacs C-x C-f)
  • e
save as file 另存为
  • ;
copy file path 复制当前 buffer 文件路径
  • g
open recent files 打开历史文件
  • j

    • 不如 consult-recent-file 好用
  • y

    • 最近(这一会)关闭的文件
  • r

    • 上一次关闭的(到后台的 buffer)
open exteral
  • w
open at cursor 打开光标下的文件
  • f

dired

  • SPC m

buffer

  • switch 切换: SPC f
  • ibuffer 列表: SPC i d
  • save 保存: SPC ;
  • close 光标: SPC u
  • 多个保存(C-x s): SPC l b
  • 新建: SPC i l
  • kill-buffer: SPC u

执行 elisp eval

  • S-exp: C-x C-e: SPC , m
  • defun: C-M-X: SPC , d
  • region: SPC , f
  • buffer: SPC , e

mark 和选择 select

  • 全部选择: SPC a
  • mark

    • 开头: SPC h
    • 结尾: SPC n
    • mark Ctr+<space>: t
    • 历史跳转: 0
    • C-x C-x: SPC s
    • 块的选择:

      • defun: C-M-h: SPC k h

选择 select

  • 全部: SPC a
  • defun: SPC k h
  • rectangle: SPC o SPC
  • block 文本块: 6
  • line 一行: 7
  • word 一个单词: 8
  • () 内部的文本: 9 (hello there)
  • 选择整个():

    1. 移动到括号上
    2. 8

复制

  • copy: c
  • cut: x
  • paste: v
  • 全选类操作

    • 复制 buffer 所有内容: SPC c
    • 剪切 buffer 所有内容: SPC x
  • kill-ring 展示: SPC t

xref

  • M-.: SPC w k
  • M-,: SPC w l

isearch 搜索

  • 启用 isearch: n
  • 搜索当前单词 word: y
  • word: SPC e p
  • symbol: SPC e f
  • symbol-at-point: SPC e d

replace

  • relace: SPC r
  • replace-regex: SPC k r
  • replace-rectangle: SPC o i

rectangle

keymap prefix: SPC o

  • 创建 rectangle(rectangle-mark-mode): SPC
  • 替换区域 C-x r t: string-rectangle: i
  • 复制: o
  • 删除

    • kill(“剪切" – 删除并保存到剪切板): u
    • delte(仅删除): h
  • 插入 “行数”: l
  • open 文本右移: s

copy paste

  • copy: SPC k o

    • copy-rectangle-to-register
  • paste: SPC o o

    • yank-rectangle

quit window

  • f q

    • insert mode + quit-window

放大缩小

  • SPC l a

帮助

xah-fly-key-map

  • SPC C-h

    • 所有按键
  • 单个自 keymap

    • SPC keymap-prefix C-h

通用帮助 valina emacs C-h

  • SPC j
  • SPC j j

    • function 函数
  • SPC j l

    • variable 变量
  • SPC j v

    • key 按键

开头结尾

  • begin: SPC h
  • end: SPC n

window 窗口管理

  • 删除其他: C-x 1: 3
  • 删除当前: C-x 0: SPC 3
  • 上下 split(下面切分): C-x 2: 4
  • 左右切分: C-x 3: SPC 4

切换(遍历)

  • 当前 frame: ,
  • 多个 frame 之间: `

register

keymap prefix: SPC k

  • 简单复制:

    • 复制到 register-1: SPC k 3
    • 从 register-1 粘贴: SPC k 4

括号处理

  • 选择

    • 选择内部: 9
    • 选择整个括号: cursor 在括号上, 8
  • 跳转

    • m / ,
    • /
  • 删除

    • 整个: d
    • 单独有括号): C-u d

插入符号

keymap prefix: SPC d

  • (): k
  • {}: j
  • []: l
  • "": u
  • '': i

标点符号跳转

  • 上一个: -
  • 下一个: =

重复命令

  • 激发: SPC k k
  • 第二次和以后重复: k

narrow 和 narrow

  • widen: C-x n w: SPC l j
  • narrow-region: C-x n n: SPC l l
  • narrow-defun: C-x n d: SPC l k
  • narrow-to-page: C-x n p: SPC l h