如何有效删除VIM中的单词,冒号和逗号

时间:2012-01-05 08:01:13

标签: vim ide editor vi

我经常有这样的代码:

it "should do something", :focus do
  ...
end

当我想删除, :focus时,我通常会这样做

  1. 转到第1行:1G
  2. 转到冒号:f:
  3. 删除冒号(使用单词,我可以重复一遍):daw
  4. 删除focus(只需重复上一个):.
  5. 删除逗号(向左移动并将其替换为空格):hr<SPACE>
  6. 有没有办法可以更有效地实现步骤3-5?

4 个答案:

答案 0 :(得分:8)

你可以去:

  1. 1G转到第一行
  2. f,转到逗号
  3. dE删除直到WORD的下一个结尾(大写字母的WORD是任何不是空格的字符序列)。

答案 1 :(得分:3)

将光标放在,上,你可以做 v e e d

d 2 e

答案 2 :(得分:1)

使用光标或冒号,你可以做 d F d E d F 部分将向后删除直至并包括逗号。然后 d E 将删除下一个空格字符。关于这一点的好处是,如果没有前面的逗号,这仍然会做同样的事情。所以使用代码

if :focus, "should do something" do

如果光标位于冒号上,则此宏将仅删除:focus,部分,但会留下两个空格。

答案 3 :(得分:0)

你最好显示你的光标在哪里,但假设它在“结束”之后,我会这样做:

?",<CR>ldt<space>.