代码之家  ›  专栏  ›  技术社区  ›  NotDan

vim可以删除变量名中的单词吗?

vim
  •  0
  • NotDan  · 技术社区  · 14 年前

    如果我有一个名为SqlDatabaseConnection的变量/函数名,并且我将光标放在第一个“S”上,有没有办法删除由大写字母(“Sql”和“Database”)定义的“words”?

    4 回复  |  直到 14 年前
        1
  •  8
  •   icecrime    14 年前

    我相信你可以用 camelcasemotion 插件作为删除中的移动命令( d,w ). 作为记录,我会用 dtD dtC .

        2
  •  5
  •   dimba    14 年前

    这能行的( 删除截止日期 ):

    dt<letter>
    

    所以,在你的例子中 dtD公司 将删除“Sql”。

    另一种变体:

    d/[A-Z]
    

    按“”可重复删除

        3
  •  1
  •   Baramin    14 年前

    正如icecrime所说,camelcasemotion插件确实做到了这一点。

    如果不想安装插件,可以创建这样的宏:

    质量控制

    /[A-Z]\|\</电子-1

    ( 按回车键 )

    我拆分了宏的不同部分,但您必须键入这些内容,不能使用空格或回车符,除了( 按回车键 )这意味着在宏创建的这一步,您应该按enter键。

    之后,只需将光标放在camelcase变量的第一个字母上,@c就会以camelcase的方式逐个删除单词。

        4
  •  0
  •   rldrenth    14 年前

    我不知道。我通常计算或估计要删除的字母数,并使用“nx”,其中n是要删除的字母数。