在VIM中自动插入插件
我想快速修改文档
00 01 10 11 看起来像 000 001 010 011 100 101 110 111 当然我可以做暴力(如上所示),但我想快速做,因为我发现我做了很多这些.到目前为止,我的方法是猛拉并粘贴4Y 4j 4P 00 01 10 11 00 01 10 11 然后有一个命令在每行之前插入0次4次吗?我知道它有点像4,i,esc ~~我希望它是4轮0(向左移动),插入模式,插入0,重新命令模式. 谢谢 解决方法
>使用视觉块模式:
y3j <C-v>3j I0<Esc> '> p <C-v>3j I1<Esc> 可以从1填充开始并使用P跳过’>: y3j <C-v>3j I1<Esc> P <C-v>3j I0<Esc> >仅使用Ex命令: :,+3y<CR> :,+3norm! I0<CR> :put :<Up> "use commandline history to save some typing <Backspace>1<CR> >使用替换和正常模式命令的混合: y3j :,+3s/^/0<CR> p :<Up> <Backspace>1<CR> 如果你这么做,那么在宏中录制这可能是最好的策略.那时,实际的填充是如何完成的并不是真正相关的,因为你唯一的输入就是@x而且宏可能是瞬时的. 你在录音期间所做的事情并不重要,这里有一个例子: qx y3j :,+3s/^/0<CR> p :,+3s/^/1<CR> q 假设你有这个: [0]0 01 10 11 点击@x将上面的内容变为: 000 001 010 011 100 101 110 111 您的宏将保存到寄存器x中,并且仍可用于下一个Vim会话. 我相信有人可以想出一个漂亮的衬垫. 编辑 上面的宏的逐步说明: > qx,在寄存器x中开始记录(它可以是任何可用的寄存器). 起始行是当前行,我们可以省略它以保存一些类型,因此我们留下了昏迷,接着是结束行,相对于当前行表示,3. 并且,为了回答您的评论,以下是您如何转变: 00 01 10 11 进入: 00 0.0 01 0.0 10 0.0 11 0.0 你需要使用另一个“锚”. ^是“行的开头”,$是“行的结尾”,因此替换变为: :,+3s/$/ 0.0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |