vim中换行符的对面

问题描述 投票:3回答:5

在vim中,是否有命令删除换行符以及光标后的所有空白?

假设我站在插入模式下的文本中间,然后按Enter键,什么命令将使我刚才所做的操作相反?

A)一个例子:

"some code{ in here }"

B)按下Enter键后:

"some code{
   in here }"

现在按退格键将删除缩进的一个空格。我希望它删除所有缩进,然后跳回A。

这可以在命令中完成还是可以通过对退格键进行一些重新映射来完成?

vim
5个回答
7
投票

J命令的未知程度令人遗憾。它以普通模式加入行。

在插入模式下,您可以按两次<C-U>;首先,它将删除光标之前的缩进,然后将其与上一行合并。请注意,这需要

:set backspace=indent,eol,start

4
投票

您尝试过J (uppercase)吗?它会完全满足您的需求。

"some code{光标在此行上,按J

in here }"


1
投票

您可以做ᴇꜱᴄKShift + J

K跳至上一行,并且Shift + J合并这两行。

但是,使用正确配置的缩进和语法,退格键不仅会删除空格,还会删除之前的全部缩进代码块。


1
投票

一种简单的方法是将一行上移至该行的末尾,然后删除。只要您仍处于插入模式,在最后一个位置删除时,它就会执行与J相同的操作-像大多数其他编辑器一样。对我来说,这是最快的选择,因为我已经习惯了其他编辑器。

即:结束删除(当仍处于插入模式时)

一种快速替代方法(VIM方式)是(当仍处于插入模式时):Ctrl + oJ(当仍处于插入模式时)

((Ctrl + o在插入模式下用于输入一个正常模式命令。)] >>


0
投票

也可以使用退格键的重新映射:

© www.soinside.com 2019 - 2024. All rights reserved.