vim 常用指令收集。
vim 列编辑
插入字符(可以实现快速多行注释、多行缩进)
- 将光标移动到要操作的位置;
ctrl-v进入可视块模式;- 使用j或者k进行光标上下移动,选取待操作的行;
shift-i进入插入模式,输入要插入的内容;esc按两次,退出插入模式即可;- 最终会在选中的每行出现插入的内容;

删除列字符
- 光标定位到要操作的地方;
CTRL+v进入可视块模式,选取这一列操作多少行;d删除。
vim单词间移动
w- 跳到下一个单词的开头e- 跳到这个单词的末尾%- 跳到对应的(),{},[]处*(#) - 跳到当前光标的下一个(上一个) 相同单词的地方如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成。如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。
w- 向后移动一个单词,将符号或标点当作单词处理W- 向后移动一个单词,不把符号或标点当作单词处理b- 向前移动一个单词,把符号或标点当作单词处理B- 向前移动一个单词,不把符号或标点当作单词处理

移动光标
0- 到行头^- 到本行的第一个非blank字符$- 到行尾g_- 到本行最后一个不是blank字符的位置。fa- 到下一个为a的字符处,你也可以fs到下一个为s的字符。t,- 到逗号前的第一个字符。逗号可以变成其它字符。3fa- 在当前行查找第三个出现的a。F和T和f和t一样,只不过是相反方向。行号+G- 跳转到指定行n+- 光标下移n行n-- 光标上移n行Ctrl+g- 查询当前行信息和当前文件信息
删除相关
dt"- 删除所有的内容,直到遇到双引号",双引号可以变成其它字符。dd- 删除一行dw- 删除一个单词/光标之后的单词剩余部分ndw- 删除以当前字符开始的n个字x- 删除当前字符d$- 删除至行尾,光标之后的该行部分d0- 删除至行首ndd- 删除以当前行开始的n行
插入模式
i- 从光标前开始插入I- 从行首开始插入a- 从光标后开始插入A- 从行尾开始插入o- 在当前行之下另起一行,开始插入字符O- 在当前行之上另起一行,开始插入字符s- 删除当前字符,然后进入插入模式S- 清空当前行,然后进入插入模式 (同cc)
替换
:%s/abc/123- 替换每一行的第一个abc为123:%s/abc/123/g- 替换每一行的所有abc为123:s/abc/123/g- 替换当前行的第一个abc为123
其他
重复上一次动作
.- 重复上次改变vim 粘贴时取消自动缩进
在vim里,粘贴代码之前最好进入粘贴模式,这样就会关闭自动缩进
1
set paste
将代码粘贴进去之后再关闭粘贴模式
1
set nopaste