vim - 将下一行追加到当前行的末尾

6
我相信这个问题以前已经被问过了,但是我在搜索方面并不太成功。有没有一种简单的方法将下一行添加到当前行的末尾?
例如:
this.thing = that
    .getThing();

我正在寻找一个一键命令,将其转换为:
this.thing = that.getThing();
3个回答

13

Shift-J组合键可以将下一行与当前行连接。它会删除缩进,但通常会添加一个空格,不幸的是。

这些命令(除了"gJ")在<EOL>处插入一个空格,除非有尾随的空白符或下一行以 ')' 开头。这些命令(除了"gJ")会删除下一行的任何前导空格。


嘿,这比跳到下一行的开头然后向后删除要好!:) - eggonlegs
4
Jx命令将合并两个单词并删除它们之间的空格。 - Gary Fixler

5

使用J命令,它是join的缩写。

Vim文档如下:

                            *J*
J           Join [count] lines, with a minimum of two lines.
            Remove the indent and insert up to two spaces 

2

除了其他回答之外,如果您想保留光标位置,可以使用一个标记:

:nnoremap J mzJ`z
  • mz - 为寄存器z添加标记
  • J - 正常合并
  • `z - 跳转到设置的标记

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接