删除直到下一行的第一个字符

Ric*_*ock 2 vim neovim

我有看起来像这样的代码:

DataAssociator::Impl::Impl(const VoxelHasherSettings& settings_voxelhasher,
                           const CameraSettings& settings_camera)
{
    initialize(settings_camera);
}
Run Code Online (Sandbox Code Playgroud)

当我将光标置于c第一个光标的上const并按+或时,<CR>我将移至下一个光标const

但是,按d+/ d<CR>删除太多,将导致以下情况:

{
    initialize(settings_camera);
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么会这样?
  2. 如何达到删除到下一行的第一个字符的效果?

我正在使用neovim。

预先感谢,理查德

Ing*_*kat 5

当您签出:help +,这提到了面向行。因此,当您+在普通模式下使用时,它将移动(如文档所述)到第一个非空白,但在运算符(如dy)之后,默认情况下将包括所有触摸的行。

您可以通过:help o_v以下方式逐个更改默认行为:So dv+而不是d+

或者,您可以先进入可视模式;选择内容将提供有关您将覆盖的文本的反馈:v+d。这里的麻烦是,根据您的'selection'设置,这可能会选择一个字符过多(使用默认inclusive选择)。