Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vim中的“视觉选择”下,从光标删除到行尾_Vim - Fatal编程技术网

在vim中的“视觉选择”下,从光标删除到行尾

在vim中的“视觉选择”下,从光标删除到行尾,vim,Vim,我有如下代码段 type Account struct { Id int

我有如下代码段

type Account struct {                                                                                                                                                                                       
    Id                         int                                                                                                                                                                          
    UserId                     int                                                                                                                                                                          
    Name                       string                                                                                                                                                                       
    Address                    string                                                                                                                                                                       
    City                       string                                                                                                                                                                       
    State                      string                                                                                                                                                                       
    CountryId                  string 
}
我想删除所有的数据类型。这有一个关键的组合吗

我尝试了
并在垂直线中选择所有数据类型的第一个字母,希望
d+$
能够工作,但是vim只接受第一个输入
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
仅删除当前选择,直到行尾为止)。

您可以移动到左大括号,按
%
键并发出:

s/ \+[^ ]* *$/
要获得:

type Account struct
    Id
    UserId
    Name
    Address
    City
    State
    CountryId
}
替换将删除行尾的所有非空白字符

  • v6j
    目视选择所有这些行

  • 删除多余的内容:“你可以使用
    C-V
    并选择所有数据类型的第一列,然后执行
    $
    选择直到行尾,然后执行
    x
    d
    删除。

    不是最短的顺序,但对我来说,以下操作更自然

    • vi{
      -目视选择内部段落

    • '将光标放在第一个
      int
      ,然后使用
      选择所有数据类型,然后简单地选择
      x
      Woah从未想到过。太好了!您能编辑您的答案以包括
      选择吗?我会让它成为可接受的选项。使用\s和\s,这个解决方案会更清晰、更完整考虑其他类型的空白,如Tabs:<代码> S/\V\s+s+\s*$/< /COD>