im命令小抄

im 命令小抄 original card by Laurent Gregoires
redesign by brohan
基本移动 插入模式 撤消,重做

h l j k 左/右 移动一个字符;上/下 移动一行 ^Vc ^Vn 插入字符 c 的本义/十进制值 n u U 撤销最近的改动 / 恢复最近被改动的行
b w 向 左/右 移动一个单词 ^A 插入最近插入的文本 . ^R 重复最近的改动 / 重做最近撤销的改动
ge e 向 左/右 移动一个单词(光标在词尾) ^@ 插入最近插入的文本,并退出插入模式 n. 重复最近的改动 n 次
{ } 移动到 前一个/后一个 段落开头 ^Rx 原样插入寄存器 x 的内容 寄存器
( ) 移动到 前一个/后一个 句子开头 ^N ^P 补全关键字并作 正向/反向 查找
0 gm 移动到 行首/行正中 ^W 删除光标前的单词 qc qC 记录键入的字符,存入/添加到 寄存器 c
^ $ 移动到行 第一个非空白字符/行尾 ^U 删除当前行光标前所有输入的字符 q 停止记录
nG ngg 移动到第 n 行,默认到 尾行/首行 ^D ^T 左移/右移 一个缩进位 @c 执行寄存器 c 的内容
n% 移动到文件的 n 百分比处 ^KC1C2 输入 \C1,C2\ 代表的二合字母 @@ 重复上次的 @c 操作
n| 移动到当前行的第 n 列 ^Oc 在临时命令模式执行命令 c :@c 将寄存器 c 的内容当作 Ex 命令来执行
nH nL 移动到窗口 顶端/底部 第 n 行 XE 向上滚动一行 :rg/p/c 在范围 r 中找到匹配内容 p 时执行 Ex 命令 c
% 匹配下一个项目(括号、方括号等……) XY 向下滚动一行 复合移动
M 移动到窗口的中间行 1p [P 类似 “p” “P”,但调整当前行的缩进 tc Tc 移动到 后一个/前一个 字符 c 之前
gR 类似 R,但替换的是虚拟字符 gp gP 类似 “p” “P”,光标停留在新文本之后 ; , 正向/反向 重复上次 “f”、“F”、“t” 或 “T” 命令
cm 更改动作 m 跨越的文本 复杂改动 [[ ]] 向后/向前 一小节,置于小节的开始
CC or S 更改当前行的内容 [] ][ 向后/向前 一小节,置于小节的末尾
C 更改光标到行尾的文本 g?m 对动作 m 跨越的文本做 rot13 编码 [( ]) 向后/向前 至未闭合的 ‘(’ / ‘)’
s 更改一个字符并进入插入模式 n^A n^X 光标之上或之后的数值或者字母 +n/-n [{ ]} 向后/向前 至未闭合的 ‘{’ / ‘}’
~ 切换当前字符大小写,同时光标前移 gqm 格式化动作 m 跨越的所有行 [m ]m 向后/向前 至java method的开始
g~m 切换动作 m 跨越文本的大小写 :rce w 将范围 r 中的行依据宽度 w 居中对齐 [# ]# 向后/向前 至未闭合的 #if, #else, #endif
gum gUm 小写/大写 动作 m 跨越的文本 :rle i 将范围 r 中的行靠左对齐,缩进 i 列 [* ]* 向后/向前 至注释的 开始/结束 /* /
m 左移/右移 动作 m 跨越的行 :rri w 将范围 r 中的行依据宽度 w 靠右对齐 查找替换
n<< n>> 将 n 行 左移/右移 一个缩进位 !mc 将动作 m 跨越的行用命令 c 过滤
删除 n!!c 将 n 行用命令 c 过滤 /s ?s 向前/向后 查找 s
:r!c 将范围 r 中的行用命令 c 过滤 /s/o ?s/o 向前/向后 查找 s,光标偏移量 o
x X 删除光标 后/前 的字符 可视模式 n or / 向前重复上次查找
dm 删除动作 m 跨越的文本 N or ? 向后重复上次查找
dd D 删除 当前行/到行尾 v V 以 字符/行 方式开始(结束)高亮 # * 向后/向前 查找光标下的标识符
J gJ 连接两行 删除缩进、插入空格/直接连接 ^V 以列块方式开始(结束)高亮 g# g
同 “#” / “*”,但也查找部分匹配
:rd 删除范围 r 包括的行 o 交换高亮区域的开始处和光标位置 gd gD 跳转到光标下标识符的 局部/全局 声明
:rdx 删除范围 r 包括的行到寄存器 x gv 使用上一次的可视区域开始高亮 :rs/f/t/x 将范围 r 中的 f 替换成 t
选项 x: g-所有匹配项, c-确认替换
aw as ap 选择 “一个单词” / “一个句子” / “一个段落”
ab aB 选择 “一个块” ( ) / “一个大块” { } :rs x 在新的范围 r 中以选项 x 重复上一替换


  1. 结束插入模式,回到命令模式
    编辑修改 复制 - + 上移/下移 一行,至第一个非空白字符
    B W 向 前/后 移动一个字串
    i a 在光标 前/后 插入文本 "x 指定下次删除、抽出和放置使用寄存器 x gE E 向 前/后 移动一个字串(光标在末尾)
    I A 在 行首/行尾 插入文本 :reg 显示所有寄存器的内容 n_ 下移 n-1 行,至第一个非空白字符
    gI 在第一列插入文本 :reg x 显示寄存器 x 的内容 g0 移动到屏幕行第一个字符
    o O 在光标的 下方/上方 插入新行 ym 抽出动作 m 跨越的文本 g^ g$ 移动到屏幕行 第一个非空白字符/最后一个字符
    rc 把光标下的字符换成 c yy or Y 抽出整 行 gk gj 上移/下移 一个屏幕行
    grc 类似 r,但替换的是虚拟字符 p P 放置寄存器内容到光标 之后/之前 fc Fc 移动到 后一个/前一个 字符 c 处
    R 进入替换模式 ↩︎

发布了52 篇原创文章 · 获赞 1 · 访问量 1701

猜你喜欢

转载自blog.csdn.net/wx25051/article/details/102752969
IM