我在VS 2010中使用viemu。是否有一个可靠的命令来删除C#源代码中的整个方法?
以下是我尝试过的事情:
移动命令}
和]]
不够智能,无法选择方法。虽然有时他们碰巧抓住正确数量的文本。
从方法内部我可以diB
删除整个方法体。这不是太糟糕,但随后我将删除签名和外括号。
如果我将光标移动到可见性修饰符(即public
,private
等)然后执行d*
,如果下一个方法有,则会终止整个方法相同的能见度。
任何vi / viemu专家都有办法做到这一点吗?
答案 0 :(得分:2)
在Vim中,我就是这样做的。我不确定viemu是否足够兼容,但是:
它不是超级自动或任何东西,但它起作用,并且一旦肌肉记忆开始就相对容易。
答案 1 :(得分:2)
我喜欢使用zadd
折叠它并删除该折叠(也将获得声明)。
如果你在要删除的方法/ if语句的级别内的另一种方法是da{dd
,我发现它比其他一些建议更容易输入。它表示要删除光标当前所在的{
括号对,然后dd
删除剩余的函数声明。
如果你嵌套在一个方法的控制结构中,你可以在它之前放一个数字来删除那么多级别。
答案 2 :(得分:1)
dap
(删除段落)适用于不包含空行的简单方法。对于包含空行的方法,您需要使用diBdap
(删除内部块,然后删除段落)。为了便于使用,您可以在rc文件中创建映射。例如::nmap <C-d> diBdap