我需要执行很多搜索和替换命令,并且我可能很快会重用这些命令。我知道我可以使用q:
选择以前的命令,但是里面还有其他一些虚拟命令,我需要再次搜索所需的命令。那不是很有效。
是否有方法或插件可以将这些常用命令保存到特定缓冲区中,并且可以快速选择其中之一?
答案 0 :(得分:1)
对于整个插件来说,这似乎是一项公平的工作,因为Vim不会跟踪命令的“频率使用情况”。
但是,您可以立即做出某种“穷人”解决方案:
创建一个临时缓冲区(或使用某种“临时”插件)。
每当发出“有用的”命令时,请转到“暂存”缓冲区,然后将寄存器:
的内容添加到其中。例如,“ : P 。
要执行“有用”命令,您需要一个映射:
nnoremap <buffer><CR> 0y$<C-W>p:<C-R>0
即:复制当前行;切换到上一个窗口;打开cmdline并在其中放置拉出的文本。
现在转到“暂存”缓冲区,然后按 Enter 组成命令行。
要将这些内容开发为“可投入生产”的形式,请考虑以下更改:
改为设计某种很酷的UI(基于缓冲区或基于弹出窗口)。
捕获CmdlineLeave
以自动执行命令列表跟踪。
自动添加缓冲区映射。