Fre*_*ihl 32
不要认为你可以,:help .但是,你可以做的是为你的编辑录制一个宏,你有很多寄存器可供选择{0-9a-zA-Z"}(大写要追加).然后使用eg @u编辑1,@t编辑2等等.
关于从Best of VIM提示录制的重要提示
" Recording (BEST TIP of ALL)
qq  # record to q
your complex series of commands
q   # end recording
@q to execute
@@ to Repeat
5@@ to Repeat 5 times
qQ@qq                             : Make an existing recording q recursive *N*
" editing a register/recording
"qp                               :display contents of register q (normal mode)
<ctrl-R>q                         :display contents of register q (insert mode)
" you can now see recording contents, edit as required
"qdd                              :put changed contacts back into q
@q                                :execute recording/register q
看看这些有关重复的更多提示:
:&     last substitute
:%&    last substitute every line
:%&gic last substitute every line confirm
g%     normal mode repeat last substitute
g&     last substitute on all lines
@@     last recording
@:     last command-mode command
:!!    last :! command
:~     last substitute
:help repeating
我写了RepeatLast.vim插件来解决这个确切的要求.它提供了一个5\.键绑定来重复最后5个更改(包括移动)并2\D删除/忘记最后2个操作.
它的工作原理是始终启用宏录制,这可能并不适合所有人.但是,如果你可以忍受它,它在99%的用例中起作用.
最新版本:https://github.com/joeytwiddle/RepeatLast.vim (请反馈!)
注意事项:
请
:set ch=2使第一行输出不被"录制"消息隐藏.它无法按预期工作的1%通常是由于:
- 难以在不丢失快速重复击键的情况下缓慢触发CursorHold事件
- 当用户响应提示时,不需要记录[Space]和[Enter]键.
q从长远来看,训练你的肌肉以先发制人地记录宏可能是一种更好的方法.;-)
根据 Fredrick Phil 的回答,这里有一个例子:
录制您的宏
下面展示了如何录制一个宏来删除所有内容(包括带引号的字符串)并存储在寄存器中d。删除字符串的命令是da"。因此,要将这个命令存储在宏寄存器 d 中,我们可以简单地这样做:
qdda"q
注意它以 q 开头和结尾。第二个字符是寄存器,在本例中d用于删除。但我们可以给它任何字母或数字。剩下的字符da"就是我们的命令。
使用我们的宏
现在我们的宏已被记录,我们可以通过使用 @ 符号后跟寄存器来调用它:
@d
重复上一个宏命令
要再次使用最近调用的宏命令:
@@
不相关信息:
在这个例子中,我们使用了da"which代表delete a quoted string. (如果您想删除inside带引号的字符串的所有内容,但不删除引号本身,您可以改为使用di"。)。
| 归档时间: | 
 | 
| 查看次数: | 9104 次 | 
| 最近记录: |