学习Vim:消除单词之间空间的最佳方法

Dam*_*ell 6 vim command keyboard-shortcuts

我是Windows平台上经验丰富的开发人员,我正在尝试自学如何使用Vim.我对正则表达式非常了解并理解如何使用Vim的原理.但是,我有一个特定的问题,虽然我有一个解决方案,但感觉好像应该有一个更好的解决方案.

我有一个文件,其中包含类似于以下内容的行:

CODE<tab><tab>Lorem ipsum dolor sit amet
Run Code Online (Sandbox Code Playgroud)

在和之间可能有可变数量的<tab><space>字符.假设光标在正常模式下超过'C' ,我想要做的是找到一个组合键,它将产生以下输出,并将光标留在'E' 和'L'之间.在插入模式下.CODELoremCODECODELorem

CODELorem ipsum dolor sit amet
Run Code Online (Sandbox Code Playgroud)

我的解决方案是使用以下密钥序列:

w d ? \ s \ + <return>

这样可行,但在删除它之前,通过我要删除的东西感觉不合逻辑.我觉得我应该移到最后CODE并删除前进.我意识到这可能只是一个我不知道的Vim成语.我也完全错过了一个关键的Vim知识.

实现目标的最佳方法是什么?

Mat*_*tis 20

eldw 会做的.

  • e - 前进到单词的结尾
  • l - 向右移动1个字符
  • dw - 删除所有空白

如果光标位于某个空格的中间,diw则会删除光标左右两侧的空格.(如果它在某个单词的中间位置,它将删除该单词.)

  • 我认为这会让你在http://www.vimgolf.com/中得到最好的成绩,我发现这是一个很好的方法来磨练你的ltt Vim技能. (4认同)
  • 经过一些实验,我认为我所寻找的关键序列是"elcw".这使我处于插入模式,准备添加我的替换文本.真棒!再次感谢. (2认同)