我不知道如何解释我想做什么,但我在 Textmate 中看到过,它非常有用。假设我有这段文字:
:aa => foo,
:ab => foo,
:ac => foo,
:ad => foo
现在我想选择键的所有第一个字符(lne 中的 4 个“a”)并删除它们,这样结果如下所示:
:a => foo,
:b => foo,
:c => foo,
:d => foo
某种视觉模式会计列不是行。
我不知道如何解释我想做什么,但我在 Textmate 中看到过,它非常有用。假设我有这段文字:
:aa => foo,
:ab => foo,
:ac => foo,
:ad => foo
现在我想选择键的所有第一个字符(lne 中的 4 个“a”)并删除它们,这样结果如下所示:
:a => foo,
:b => foo,
:c => foo,
:d => foo
某种视觉模式会计列不是行。
使用Ctrl+V进入分块视觉模式。然后,您可以使用普通移动键选择一个文本块,然后按x将其删除。I将执行多行插入。
有关完整的详细信息,请参见vim 中的:help ^V
和。:help visual-operators
在列模式下使用 vim。要使用它,请按:
- Ctrl+V进入列模式。
- 选择要在其中输入文本的列和行。
- Shift+I在列模式下进入插入模式。
输入您要输入的文本。
注意:不要因为只有第一行被更改而气馁。
- Esc 应用您的更改(或交替使用Ctrl+ C)。
您现在将看到您的更改已应用。
资料来源:VI 中的列编辑模式。
使用 Ctrl-V 在块模式下进行选择,然后使用方向和编辑命令完成其余操作。请参阅 如何删除 Vim 中前两列周围的引号?
您正在寻找可以Ctrl+V
在普通模式下访问的可视块模式。就像Alt+select
在 TextMate 中一样工作。
正如其他人所说Ctrl-V
的是答案。有关教程,请参阅Vimcast插曲“使用可视块模式选择列”
在您的特殊情况下:
:% s/a/
做这项工作。
您还可以使用搜索和替换来专门删除以冒号开头的行的第一个字母:
:%s/:./: