Objed ---- a text object editing tool
文章目录
参考
激活方式
手动激活
命令: objed-activate
推荐绑定: M-SPC
- C-.
- M-[ / M-]
- M-( / M-)
自动激活
前提条件:开启 objed-mode 或者 objed-local-mode
激活方式:命令触发
光标移动命令
- next-line
- end-of-line
- begin-of-line
退出按键
强制退出:
"g"
- 对应 Ctrl + G (
keyboard-quit) 命令
- 对应 Ctrl + G (
文字插入退出:
- Space, DEL, Return
单个字符移动:
- Ctrl-f
- Ctrl-b
移动
字符 char object
- l/h
sexp object
- f/b
单词 word object
- s/r
行 line object
- n/p
区块移动 block object
作用对象:处理多行文本
- 多行文字
- if else 语句
开头 line based
v
- (line based
objectbegin), 第零列
- (line based
vv
- block begin
开头 (类似 Ctrl + a)
a
- 行的第一个字符的开头
- begin of line
aa
- begin of block
结束位置
- e
上下文 context object
作用对象:
- defuns 函数
- strings 字符串
- parentheses 括号
- comments
按键:
a
- 激活 context, 移动到开头
- 对象:函数,括号,字符串
j
- context 开头结尾跳转
对象
- 两个括号
- 函数的开头结尾
t
- 状态切换
- context 内部内容,和外部内容切换
对象
- 括号对象,是否包含两个括号
[ / ]
- 即 [ 和 ] 快捷键
- 同类型的 object 上下跳转
对象
- 句子:上下句的开头间跳转
- 单词:单词间开头跳转
- 函数:上下函数间跳转
( / )
- 选择到 object 的开头或者结尾
对象
函数:
- (: 跳转到函数开头,并选择改词到开头的部分
- ): 跳转到函数结尾,并选择改词到结尾的部分
{ / }
- 上下段落 paragraph object 跳转
注意:
- 由空行分别的内容,自动认为时段落
< / >
- 第一个/组后一个 与当前同类型的 text object
- 仿造 (Meta + <) / (Meta + >)
跳转
同类型 object 跳转
z
- 使用 ace-jump 实现
M-g o
- 类似 z
标识符跳转和搜索
功能:标识符搜索和跳转
光标下 标识符跳转:
- ".": 下一个出现
- ",": 上一个
更多类型搜索
快捷键: "c"
逻辑:
- 按下 “c” 后
选择额外功能
- 例如: ace-jump
- 跳转到 comment
移动 text object
左右移动
单个字符移动
- Ctrl + <left> / Ctrl + <right>
Tab 键位移动
- Meta + <left> / Meta + <right>
吞并 移动
把后面或者前面的内容囊括到当前 object 内部
- C-M-left / C-M-right
单词移动
- S / R
字符移动
- L / H
行移动
- N / P
任意 object 移动
- F / B
对象编辑
插入,删除,复制,粘贴,缩进等
insert 插入
- i
kill 剪切
- 删除并存入 kill-ring
k
- kill 并移动到下一个 object
K
- kill 并移动到上一个 object
delete 删除
- 直接删除,不存入 kill-ring
d
- …, 下一个
D
- delete 光标移动到上一个 object
copy 复制
- w
paste 粘贴
- y
indent 缩进
- \
comment 注释
- ;
raise
- ^
- 内部替换
内部替换外部
按键:
- ^
定义:
Replace with inner part(raise)
解释: 使用内部对象替换整个外部对象,例如:括号内的内容替换掉整个括号对象
使用限制:
作用对象限制
- 必须是有上下文的对象
- defun
- string
- parentheses 括号
object 传入 shell
!
- 把 object 当作 shell 命令使用
&
- pipe
对象复制
直接复制
- M-RET
- 把当前激活 object 复制一份
注释复制
- S-RET
- 把当前对象复制一份并作为注释
复制一个
空实例- C-M-RET
杂项功能
flyspell
- $
undo
/
- 全局 undo
~
- 选定 region 内 undo
"
- 包装 object
- 给 object 两端插入对应的给定符号
C-u "
- 手动指定包装符号
x
- 额外功能前缀 prefix
mark
m
- mark, move to next
M
- mark, move to previous
@
- 扩大 object
- 类似 "o", 但粒度小
文章作者
上次更新 2022-03-07 (de34a70)