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

Delete till first character on next line

我的代码如下所示:

DataAssociator::Impl::Impl(const VoxelHasherSettings& settings_voxelhasher,
                           const CameraSettings& settings_camera)
{
    initialize(settings_camera);
}

当我将光标放在第一个 constc 上并按 +<CR> 时,我移动到下一个 const

但是按 d+ / d<CR> 会删除太多并留下这个:

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

我正在使用 neovim。

提前致谢, 理查德

当您签出 :help + 时,会提到 linewise。因此,当您在正常模式下使用 + 时,它会(如文档所示)移动到第一个非空白,但在运算符之后(如 dy),所有接触的行都将是默认包含。

您可以通过 :help o_v 根据具体情况更改默认行为:因此 dv+ 而不是 d+

或者,您可以先进入可视模式; selection 将提供有关您将涵盖的文本的反馈:v+d。这里的一个复杂问题是,根据您的 'selection' 设置,这可能 select 一个字符过多(默认 inclusive selection)。

针对此特定情况的另一种选择: DJx