我试图学习如何使用vim的录制功能,但是好像我只能从普通模式会话中录制和播放击键。当我切换到输入模式时,我播放的击键似乎没有被记录或播放。为了说明我在说什么:
我有一个包含以下行的文件:
Dir['*.data'] # Files with the "data" extension
Dir['?'] # Any single-character filename
Dir['*.[ch]'] # Any file that ends with .c or .h
Dir['*.{java,rb}'] # Any file that ends with .java or .rb
我想将每行末尾的注释移至右侧的第4个选项卡。因此,我将光标放在第一行的开头,并开始记录以注册a:,qa
然后键入f#
以找到行上的注释,然后切换到插入模式i
,然后<Tab><Tab><Tab><Tab>
再次键入切换到普通模式esc
并向下移动到下一行的开始并停止记录q
。当我播放录音时,@a
只有光标向下移动,而没有任何输入击键向上播放?
我很确定您已经superTab
在vim中安装了它。我前段时间也遇到过同样的问题。
您可以按照自己的需要做的是,您可以通过以下方式进行记录:
qaf#4i<c-v><tab><esc>j0q
然后 x@a
因此,请按Ctrl-v<Tab>
而不是<tab>
顺便说一句,一个小技巧:如果要保存x
,(重播几次),则可以使用递归/嵌套宏:
qaf#4i<c-v><tab><esc>j0@aq
在那之后,您只需按下@a
它,直到行尾都将执行相同的操作。
请注意,此答案仅适用于您的宏问题,而不适用于编辑问题。如果您只是想实现自己的“编辑”目标,我将C-V
选择块选择而I
不是录制宏。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句