vim - 如何在不为 Vim 中的空行添加空格的情况下连接行

标签 vim spacing

当我使用 J 连接行时,空格会按预期自动添加。但是,当我有一行单词后跟一个空行并且我想用 J 删除该空行时,它会在我的当前行中添加一个空格。我考虑过 nnoremaping JJx 以便删除空格,但是当我连接两行时它不会添加空格其中的文字。翻阅手册后,我找不到任何听起来像我想要的内容。

以下是我希望发生的事情的一些示例。对于格式设置,我深表歉意。

目前我有:

之前(为了便于阅读,空格被替换为 -):

Some-text

之后:

Some-text-

之前:

Some-text
Some-more

之后:

Some-text-Some-more

我想要:

之前(空格替换为 - 以提高可读性):

Some-text

之后:

Some-text

之前:

Some-text
Some-more

之后:

Some-text-Some-more

简而言之,当连接包含字符的行时我想要一个空格,而当连接的行为空时不添加空格。

最佳答案

如果下一行为空,您可以定义一个函数在 gJJ 之间切换。然后将该函数映射到 J:

noremap J :call J()<cr>
function! J()
    if getline(line('.')+1)=="" | exe 'normal gJ' | else | join | endif
endfunction

getline(line('.')+1)=="" 检查下一行是否为空。

关于vim - 如何在不为 Vim 中的空行添加空格的情况下连接行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219559/

相关文章:

css - 无法将两个 div 直接放在彼此之上

html - 在 Bootstrap 4 中垂直堆叠的列之间添加间距

vim - 如何同时打开包含搜索模式的所有折叠?

linux - 在 haskell-vim-now 中更改自动完成的键绑定(bind)

创建宏时 VIM 映射无法正常工作

java - 初学者java - 向后打印直角三角形

html - 删除表格图像之间的填充

java - 如何更改 swt 表中的单元格间距

sorting - 对文本中的特定行进行排序

vim - 在vim中从 'iskeyword'中删除一个字符