技巧4
@: 重复任意Ex命令
技巧9
daw 删除所在单词
dap 删除所在段落
技巧10
n<C-a> 对数字进行加操作
n<C-x> 对数字进行减操作
技巧11
能够重复就别用次数
dw. 好于 2dw 好于 d2w
技巧12
g~ 反转大小写
gU 转换为大写
gu 转换为大写
技巧13
插入模式下
<C-h> 删除前一个字符
<C-w> 删除前一个单词
<C-u> 删除至行首
技巧14
插入模式下
<C-o> 进入插入普通模式
<C-o>zz 插入模式下将当前行居于屏幕中央
技巧15
插入模式下
<C-r>{register} 将任意寄存器的内容插入到命令行
技巧16
插入模式下
<C-r>= 可以访问表达式寄存器
技巧21
visual模式下
o 切换高亮选区的活动端
技巧28
用模式指定范围
:/pattern1/,/pattern2/p
用偏移地址修正
:/pattern1/+1,/pattern2/-1p
Ex可以使用的范围表示:
符号 地址
1 文件行号
$ 文件最后一行
0 虚拟行,在第1行上面
. 光标所在行
`m 包含位置标记m的所在行
`< 高亮选区的起始行
`> 高亮选取的结束行
% 整个文件
技巧29
:t和:copy等效
技巧30
:'<,'>normal . 对高亮选区的每一行,执行.命令
:%normal A; 整个文件所有行最后添加;
技巧31
@: 重复执行Ex命令
技巧33
Ex命令下
<C-r><C-w> 将光标所在单词插入Ex命令行
:%s//<C-r><C-w>/g 将先前的替换为光标处单词
q/ 打开查找命令历史的命令行窗口
q: 打开Ex命令历史的命令行窗口
<C-f> 从命令行模式切换到命令行窗口
技巧34
write | !python % 保存并使用python执行该文件
技巧39
:on[ly]或<C-w>o 只保留活动窗口,关闭其他窗口
<C-w>= 使所有窗口等宽、等高
<C-w>_ 最大化活动窗口的高度
<C-w>| 最大化活动窗口的宽度
[N]<C-w>_ 把活动窗口的高度设为[N]行
[N]<C-w>| 把活动窗口的高度设为[N]行
技巧40
:tabe[dit]{filename} 新标签页中打开{filename}
<C-w>T 把当前窗口移到一个新标签页
:tabc[lose] 关闭当前标签页及其中所有的窗口
:tabo[nly] 只保留活动标签页,关闭其他标签页
技巧44
:!mkdir -p %:h 创建当前文件的目录
:w !sudo tee % > /dev/null 没有root权限时候,强行保存文件
技巧53
`` 当前文件中上次跳转动作之前的位置
`. 上次修改的地方
`^ 上次插入的地方
`[ 上次修改或复制的起始位置
`] 上次修改或复制的结束位置
`< 上次高亮选区的起始位置
`> 上次高亮选区的结束位置
技巧54
<C-o>和<C-i> 跳转和来回跳转
技巧56(待完善)
g;和g, 反向或正向遍历改变列表
gi 快速退回到早先的insert模式的地方
技巧57
可能需要设置指定文件的扩展名设置
gf快速跳到光标文件
技巧58
m{letter} {letter}如果是大写的话,就是全局标记。
技巧60
"" 无名寄存器
"0 复制专用寄存器
"+ 系统剪贴板
"* 选择专用寄存器
"= 表达式寄存器
技巧64
@@ 回放宏
技巧74
使用正则表达式查找,就用模式开关\v,使用原义查找文本,就用原义开关\V。
/\v<(\w+)\_s+\1> 匹配重复单词的正则表达式
<和>用于匹配单词的边界,\_s匹配空白符或者换行符,\1匹配第一个( )
技巧76
/\v<the> 用来匹配单词the
技巧77(待完善)
技巧78(待完善)
技巧83
/lang/e<CR> 匹配lang光标定位到末尾
技巧89
:%s/content/copy/gc 引入标志位c之后,每次替换都会有提示。
y 确认替换
n 忽略替换
q 退出替换
l 替换后退出
a 替换此后所有
<C-e> 向上滚动屏幕
<C-y> 向下滚动屏幕
技巧90(待完善)
技巧91(待研究)
:%s//<C-r>0/g 将寄存器0贴出来
:%s//\=@0/g \=将指示Vim执行一段表达式脚本,@0返回复制专用寄存器内容,@"返回无名寄存器内容
技巧92(待完善)
技巧93
/\v^([^,]*),([^,]*),([^,]*)$
:%s//\3,\2,\1
技巧94(待完善)
:g/re/d 删除所有匹配行
:v/re/d 保留所有匹配行