tzo*_*zot 14
我认为不可替代的东西(因为它在vi中工作,与vim的视觉模式不同)是标记.你可以用m(小写)标记各种斑点,然后用你选择的字母标记(例如x).然后你去其他地方,可以用"x (backquote letter) to the exact spot, or with"x`(撇号字母)回去.
这些运动可以用作命令的参数(yank,delete等).例如,您要删除10行; 而不是计数然后移动到最顶行并进入10dd,你转到块的开头或结尾,按mm(标记m),然后转到块的另一端,然后按d'm(删除撇号m).如果在此示例中使用反引号而不是撇号,则删除将按字符方式工作,而不是按行工作.尝试用"mark m"标记在行的中间,移动到另一行的中间,然后输入"d backquote m",你会看到我的意思.
当你有一些重复的动作采取宏通常比正则表达更快.只需输入
q[0-9a-z] in normal mode
Run Code Online (Sandbox Code Playgroud)
很多人用
qq
Run Code Online (Sandbox Code Playgroud)
因为它很快 再次按正常模式下的q可停止录制.然后输入
@[0-9a-z] in normal mode
Run Code Online (Sandbox Code Playgroud)
重复刚刚录制的内容.
@q
Run Code Online (Sandbox Code Playgroud)
对于上面的例子.
编辑添加:你也可以重复宏.假设您编写了一个宏来跳转到一条线的头部,插入一个标签,然后向下跳一行.然后,通过键入"@q"来运行它一次测试您的宏.然后,您可以通过键入"9 @ q"重复该动作九次.
| 归档时间: |
|
| 查看次数: |
6738 次 |
| 最近记录: |