我不知道如何解释我想做什么,但我在Textmate中看到了这一点并且非常有用。假设我有这样的文字:
:aa => foo,
:ab => foo,
:ac => foo,
:ad => foo
现在我要选择键的所有第一个字符(lne中的4'a')并删除它们,以便结果如下所示:
:a => foo,
:b => foo,
:c => foo,
:d => foo
某种视觉模式会计列不是行。
答案 0 :(得分:9)
使用 Ctrl + V 进入逐块可视模式。然后,您可以使用普通移动键选择一个文本块,然后按 x 将其删除。 I 将执行多行插入。
有关详细信息,请参阅vim中的:help ^V
和:help visual-operators
。
答案 1 :(得分:6)
在列模式下使用vim。要使用它,请按:
- Ctrl + V 进入列模式。
- 选择要输入文字的列和行。
- Shift + I 以列模式进入插入模式。
输入您要输入的文字。
注意:不要因为只更改了第一行这一事实而气馁。
- Esc应用您的更改(或者 Ctrl + C )。
醇>现在,您将看到已更改已应用。
答案 2 :(得分:2)
使用Ctrl-V在块模式下选择,然后使用方向和编辑命令来完成剩下的工作。看到 How to remove quotes surrounding the first two columns in Vim?
答案 3 :(得分:1)
您正在寻找Visual Block模式,Ctrl+V
可在普通模式下访问该模式。与TextMate中的Alt+select
类似。
答案 4 :(得分:1)
正如其他人所说Ctrl-V
就是答案。有关教程,请参阅Vimcast剧集“Selecting columns with visual block mode”
答案 5 :(得分:0)
在您的特殊情况下:
:% s/a/
完成这项工作。
答案 6 :(得分:0)
您还可以使用搜索和替换来专门删除以冒号开头的行的第一个字母:
:%s/:./: