C# 删除整个方法的命令?
我在VS2010中使用viemu。是否有可靠的命令来删除C#源代码中的整个方法 以下是我尝试过的一些事情:C# 删除整个方法的命令?,c#,visual-studio-2010,vim,viemu,C#,Visual Studio 2010,Vim,Viemu,我在VS2010中使用viemu。是否有可靠的命令来删除C#源代码中的整个方法 以下是我尝试过的一些事情: 移动命令}和]不够智能,无法选择方法。尽管有时他们会碰巧抓到正确数量的文本 从方法内部,我可以执行diB,这将删除方法的整个主体。这还不算太糟,但我要删除签名和外括号 如果我将光标移动到可见性修改器(即public,private等),然后执行d*,如果下一个方法具有相同的可见性,它将杀死整个方法 任何vi/viemu专家都有办法做到这一点吗?在Vim中,我就是这样做的。我不确定vie
- 移动命令
和}
不够智能,无法选择方法。尽管有时他们会碰巧抓到正确数量的文本]
- 从方法内部,我可以执行
,这将删除方法的整个主体。这还不算太糟,但我要删除签名和外括号diB
- 如果我将光标移动到可见性修改器(即
,public
等),然后执行private
,如果下一个方法具有相同的可见性,它将杀死整个方法d*
任何vi/viemu专家都有办法做到这一点吗?在Vim中,我就是这样做的。我不确定viemu是否足够兼容,但是:
它不是超级自动的,但是一旦肌肉记忆开始,它就可以工作并且相对容易地完成。
dap
(删除段落)将适用于不包含空行的简单方法。对于包含空行的方法,您需要使用diBdap
(删除内部块,然后删除段落)。为了便于使用,可以在rc文件中创建映射。例如::nmap diBdap
我喜欢使用zadd
将其折叠并删除该折叠(这也将获得声明)
如果您在要删除的method/if语句的级别内,那么另一种方法是da{dd
,我发现它比其他一些建议更容易键入。它说删除{
光标当前所在的括号对,然后dd
删除剩余的函数声明
如果你嵌套在一个方法的控件结构中,你可以在它前面放一个数字来删除那么多级别。单击该方法左侧的减号来折叠该方法,高亮显示整个折叠的方法行,然后按delete键。这还不错,你应该回答这个问题。你也可以使用
CTRL+M,M
,然后从那里开始执行dd
。移动到方法的第一行,然后执行^vf{%d
Nice,这更紧凑、更可重复。可以编写一个自定义命令来实现这一点。您的答案在viemu中运行良好,但看起来不像shellholic的。我确实喜欢CTRL+M,M然后dd,但这是Visual Studio特有的,使用viemu的一个原因是帮助我从VS分支。实际上,我想我喜欢使用方法d签名,dd,d%。每次都是这样,而且非常快/简单。@马特:假设你把你的开放式花括号放在单独的一行上,是的,那会很好。你可能想澄清das是什么,否则这没有帮助。你能详细说明das吗?我知道d
是删除命令,什么类型的移动是as代码>?在viemu 2010和gvim 7.3 for Windowsdas
中删除一个连续的文本块,因此如果该方法中有空行,它将在空行处停止。如果该方法中没有空行,das
将正确删除它。(这在vim中有效,不确定VS,没有,但这些看起来像是它可能具有的非常基本的命令)这几乎在viemu中有效,它使您离开声明一行,因此基本上它变成da{kdd
,假设您在自己的行上有大括号。