1. 文本替换
:%s /\<from\>/to/gc用<to>替换文件中所有的<from>, 逐个确认
:nfrom, nto %s /\<from\>/to/gc用<to>替换文件中[from, to]行的<from>, 逐个确认
2. 缓冲区切换
:ls列出所有打开的缓冲区
:bnext(:bn)下一个缓冲区
:bprevious(:bp)上一个缓冲区
:blast(:bl)最后一个
:bfirst(:bf)第一个
:b <n> 第n个
3. 窗口分屏
:He(:He!)在下边(上边)分屏浏览目录
:Ve(:Ve!)在左边(右边)分屏浏览目录
4. 多屏同步滚动
:set scb(scb!)开启(关闭)同步滚动(对每个要同步滚动的窗口,分别执行此命令)
5. 标签式浏览目录
:Te 在新标签中查看目录
gt下一个标签页
gT上一个标签页
<n> gt到第n页
:tabs列出所有tab页
:tabclose [n]关闭编号为n的tab页,若无n,则关闭当前tab
vim -p a.c b.c以多tab的方式打开-p后面的文件
vim -p *.cpp打开目录下所有.cpp文件
6. 会话
:mksession ~/.sessionName.vim创建会话,保存当前的文件缓冲区等状态
vim -S ~/.sessionName.vim载入会话
7. QuickFix快捷键
:cp 上一个错误
:cn下一个错误
:cl所有错误
:cc显示错误详细信息
8. 大小写转换
~字符大小写切换
guw单词变小写
gUw单词变大写
guu整行变小写
gUU整行变大写
v - U(u)可视模式下,把选中的文本变大(小)写
9. 缩进
>> 向右缩进当前行
<< 向左缩进当前行
= 缩进当前行(对其方式)
=% 缩进整个语句块(按括号匹配,光标放到括号处。% - 匹配括号)
gg=G 缩进整个文件(gg-文件开头,G-文件结尾),或者G=gg
10. 寄存器
:registers 列出所有存在的寄存器的内容
"0 - "9 或者 引号 + :regsiters 列表里的寄存器名 就可以访问寄存器里面的内容
例如:要粘贴"0寄存器里面的内容,可以在命令模式下输入: "0 p
n. 其他
ga 查看光标处字符的ascii码
ga 查看光标处字符的utf-8码
ga 打开光标处所指的文件
*(#) 当前文件中搜索当前光标的单词
:r!dateshell命令的输出的日期读到vim里来
ctrl-o(ctrl-i)光标的前一个或下一个位置