删除vim中的周围空格

And*_*erg 10 vim

我正在使用awesome https://github.com/tpope/vim-surround插件用括号括起单词,例如我经常使用:viws<space><space>用空格包围一个单词.

我缺少的是与此相反的,即删除单词周围的空格.

对我来说最常见的用途是函数参数,如foo(bar)vs foo(bar),具体取决于代码样式.

有谁知道一个很好的方法来做到这一点?

Ran*_*ris 11

注意:此解决方案需要问题中引用的环绕声插件.

根据您的具体情况,您可以执行以下操作:

cs()
Run Code Online (Sandbox Code Playgroud)

这改变foo( bar )foo(bar),但是,它是不是你的问题的通用解决方案.

  • 有点优雅..奇怪但优雅:) (2认同)
  • 如果您没有在 OP 中注明环绕插件,则它不会执行预期的操作。使用环绕,`csXY` 表示“用周围的字符 Y 改变周围的字符 X”,`(` 被定义为“带有填充空格的包围括号”,而 `)` 被定义为“没有填充的包围括号空间”。 (2认同)

puk*_*puk 5

当我可以为此定义一个映射时,我也经常有效地拖延寻找 vim 插件。

nnoremap <leader>dd F<space>xf<space>x
Run Code Online (Sandbox Code Playgroud)

编辑更多信息

  • <leader>用户定义映射的通用键(,是一个很好的键)

  • dd使用组合(任何其他助记符就足够了)

  • F<space>x向后搜索空格,然后将其删除

  • f<space>x向前搜索空格,然后将其删除