下面是我常用的非常好用的vim命令, 排名有先后. 很多vim教程上来就讲一堆hjkl的光标移动命令, 实在是没有说到重点, 下面才是长期使用vim的时候, 真正常用的武器:
第1个武器: .
.命令用来重复执行修改类操作, 比如用"dd" , 删除一行文本. 接下来用".", 就可以当成 "dd"使用. "3."会直接删除3行文本.
第2个武器: f
fx可以将光标位置移动到当前行的第一个x的位置. 比如:
|book is a good book
用
fg
就可以将光标移动到g的位置
book is a |good book
也可以和其他命令结合:
dfg
会删除到当前行第一个找到的g, 假如从行首开始执行这个命令, 结果就是:
ood book
第3个武器: *
*命令用来搜索当前光标所在位置的单词
book is a goo|d book
加入光标在"good"的位置, 按下*, 就可以在全文里面, 搜索下一个"good"所在位置, 并将光标移动到该位置.
第4个武器: %s/aaa/bbb/g
将当前文档中所有的aaa替换成bbb
第5个武器 qa...q, @a
这套命令可以用来录制宏, 重复宏.
比如有一百行文本:
asdfi asdfioi
hasdhfh asdfasf
iewoiasd
asdfasdfs
为了转换成一个json的数组, 需要将每行前面加上 引号, 最后加上引号和逗号.
命令会是这样:
esc //进入普通模式
qa //开始录制宏
shift+i //在行首进入插入模式
" //插入引号
esc //进入普通模式
sift+a //在行尾部进入插入模式
", //在行尾插入逗号和引号
esc //进入普通模式
j //向下移动一行
q //结束宏录制
99@a //重复99次刚才的操作, 刚好将一百行文本都加了首位引号和末尾的逗号.
然后我们只需要到文件头部增加[, 到文件尾部删除一个逗号, 增加一个]就得到了一个json的数组.