VIM命令小抄
来源:互联网 发布:活动执行方案范文知乎 编辑:程序博客网 时间:2024/05/16 10:30
Vim 命令小抄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 行
^X^E向上滚动一行
:rg/p/c在范围 r 中找到匹配内容 p 时执行 Ex 命令 c%匹配下一个项目(括号、方括号等……)
^X^Y向下滚动一行
复合移动M移动到窗口的中间行
<esc> ^[结束插入模式,回到命令模式
编辑修改
复制
- +上移/下移 一行,至第一个非空白字符
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进入替换模式
]p [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, #endifgum gUm小写/大写 动作 m 跨越的文本
:rle i将范围 r 中的行靠左对齐,缩进 i 列
[* ]*向后/向前 至注释的 开始/结束 /* */<m >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,光标偏移量 ox 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 重复上一替换
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 行
^X^E向上滚动一行
:rg/p/c在范围 r 中找到匹配内容 p 时执行 Ex 命令 c%匹配下一个项目(括号、方括号等……)
^X^Y向下滚动一行
复合移动M移动到窗口的中间行
<esc> ^[结束插入模式,回到命令模式
编辑修改
复制
- +上移/下移 一行,至第一个非空白字符
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进入替换模式
]p [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, #endifgum gUm小写/大写 动作 m 跨越的文本
:rle i将范围 r 中的行靠左对齐,缩进 i 列
[* ]*向后/向前 至注释的 开始/结束 /* */<m >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,光标偏移量 ox 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 重复上一替换
- vim命令小抄
- VIM命令小抄
- gdb命令小抄
- Ubuntu命令小抄
- 一个cheat命令 == Linux命令小抄大全
- 一个cheat命令 == Linux命令小抄大全
- 一个cheat命令 == Linux命令小抄大全
- 一个cheat命令 == Linux命令小抄大全
- 一个cheat命令 == Linux命令小抄大全
- Linux命令小抄大全cheat命令安装
- 诗文小抄
- 程序员小抄大全
- 程序员小抄大全
- 程序员小抄大全
- 程序员“小抄”
- 程序员小抄大全
- 程序员小抄大全
- 程序员小抄大全
- Qt之QComboBox(基本应用、代理设置)
- main函数参数的意义和一条linux命令如何被解析执行
- ubuntu 文件夹都跑到桌面上了!!
- javascript_汉诺塔
- 页面创建新元素
- VIM命令小抄
- 【小宝解惑】vc下debug版本和release版本的区别
- asp.net 第五天 html简单的模板
- 算法面试题
- Hadoop海量视频、图像分析分布式处理总结
- 移动APP开发过程
- 内核模块Makefile
- QListWidget 滚动条设置风格
- 融博