今天帮老板写了一天的rst(其实就是修改table,人工给table换行,方便线上阅读源码)。全程用vim修改的,中间搜搜找找再造来几个小轮子,在这里记录一下心得
覆盖剪切和覆盖黏贴(不影响缩进的剪切和黏贴)
处理table最烦的地方就是画边框,第一次是用sublime的rst插件 画的(vim版本 的插件蜜汁不能用),但之后的维护实在是想哭--每次一动就要再调整边框,于是想如何不影响缩进的对文本进行插入和黏贴。
思路
剪切:把visual选中的地方存到一个寄存器里(我用的是a,其实无所谓),之后在gv重新选中刚才的区域,r一下用空格(也可以用别的字符)替换就好。
粘贴:先用R进入批量替换模式,<Ctrl-R>来调用寄存器,按下a把寄存器a里面的内容粘贴出来,在<ESC>退出,完全不影响缩进。
使用宏定义
let @r="\"aygvr "
let @p="R^R�a�^["
注意这边的^R不是手打的,是<Ctrl-V>之后<Ctrl-R>得到的,同理^[也是(<Ctrl-[>== <ESC>)
然后就可以正常效率的修改文本了。
另外的几个小tips:
MacVim里面可以直接用<alt> + 鼠标选用块区域,我自己<Ctrl-v>之后一点点f, F, t, T, 50j, 100j 什么的还是没这个快啊orz
&可以直接执行上一次的 :s 替换操作(给表格增加一行的时候就是复制一行边框之后把+替换成|,-替换成空格),但是只替换了一个字符
<count> % 可以直接跳到文本所在百分之几的位置(90 % 就是跳到文本 90 %的地方),在对照浏览器中显示的html和rst文件的时候会用到
最后贴一个自己的 .vimrc ,vim真好玩啊。