我有一个如下代码段。
type Account struct {
Id int
UserId int
Name string
Address string
City string
State string
CountryId string
}
我想删除所有数据类型。这有关键组合吗?
我尝试<C-V>
并在垂直行中选择所有数据类型的第一个字母,希望d + $
可以发布,但是vim只接受第一个输入d
并删除第一封信。
答案 0 :(得分:7)
使用<C-v>
进入可视屏蔽模式,选择要更改的行,然后D
删除,直到结束。
来自:h v_D
:
{Visual}["x]X or *v_X* *v_D* *v_b_D*
{Visual}["x]D Delete the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). In Visual block mode,
"D" deletes the highlighted text plus all text until
the end of the line. {not in Vi}
请注意,正如帮助中所述,X
和D
在视觉块模式下不相同(X
仅删除当前选择,而不是直到行结束。)
答案 1 :(得分:3)
您可以移动到左括号,按%
键并发出:
s/ \+[^ ]* *$/
得到:
type Account struct
Id
UserId
Name
Address
City
State
CountryId
}
替换将删除行末的所有非空格字符。
答案 2 :(得分:3)
您可以使用C-V
并选择所有数据类型的第一列,然后执行$
选择直到该行的结尾,然后选择x
或d
删除。
答案 3 :(得分:0)
v6j
直观地选择所有这些行。:'<,'>norm ElD
删除多余内容('<,'>
会自动添加)。另外,请注意尾随空格!
答案 4 :(得分:0)
不是最短的序列,但对我来说更自然
vi{
- 直观地选择内部段落 '<,'>norm weld$
(键入:norm weld $) 女巫分解为
'<,'>norm
- 在选择 wel
- 跳到第一个单词 d$
- 删除直到行尾