字,冒号和一个逗号,我经常有这样的一段代码:如何有效地删除VIM
it "should do something", :focus do
...
end
当我想删除, :focus
我通常做
- 前往路线1:
1G
- 转到冒号:
f:
- 删除冒号(周围使用的话,所以我可以再说一遍):
daw
- 删除
focus
(重复前面的):.
。 - 删除逗号(向左移动并用空格替换):
hr<SPACE>
。
有什么办法可以更有效地实现步骤3-5?
字,冒号和一个逗号,我经常有这样的一段代码:如何有效地删除VIM
it "should do something", :focus do
...
end
当我想删除, :focus
我通常做
1G
f:
daw
focus
(重复前面的):.
。hr<SPACE>
。有什么办法可以更有效地实现步骤3-5?
你可以去:
1G
去第一行f,
要去逗号dE
要删除,直到WORD的下一个结尾(大写字母WORD是不是空格的任何字符序列)。'dE'works在这里惊人的好。甚至更好,然后@rejj建议。但我真的不明白为什么'E'跳过逗号,冒号和单词。希望你能解释一下。还有什么与'E'相反(向相反方向移动)? – 2012-01-05 08:31:55
'E'和'B'结束(向前)并开始(向后)WORD。 'gE'和'W'到前一个WORD的末尾和下一个WORD的开始。 ':help E',':help B',':help gE',':help W'会告诉你!请注意,没有大写字母('w','b','ge'和'e')的命令完全相同,因此单词的定义是不同的(标点符号不是单词的一部分:'' :help word'和':help WORD')。 – Benoit 2012-01-05 08:40:27
随着光标放在,
你可以做v,ē,ē,d。
或d,,ē
哦,这么简单:)!出于某种原因,我很少想到逗号和冒号是文字:)非常感谢! – 2012-01-05 08:26:56
你最好显示光标所在,但假设它的 “结束” 后,我应该这样做:
?",<CR>ldt<space>.
我显示了光标所在的位置。它在冒号上。请参阅问题中的第2步。搜索是一个非常不寻常的运动,打破了我的流程。什么是'ldt
我看到了什么'ldt
随着光标或结肠,你可以做d˚F,dê。 dF,部分将向后删除并包括逗号。然后dE将删除到下一个空格字符。关于这一点的好处是,如果没有前面的逗号,这仍然会做同样的事情。因此,与代码
if :focus, "should do something" do
如果光标在结肠这个宏将删除只是:focus,
一部分,尽管它会留下两个空格后面。
不错!不过,类似于@Benoit的建议。 – 2012-01-05 09:07:41
我应该更频繁地刷新:P – 2012-01-05 09:23:18
不是直接问你的问题,而是第1步的快捷方式:'gg',即。按两次相同的按键,而不是按两个不同的按键... – Nigu 2012-01-05 09:43:38
是的,当然。感谢那。我使用f来强调代码不会在第一行。它只是在这里,在问题:) – 2012-01-05 11:57:22