当我使用 J
连接行时,空格会按预期自动添加。但是,当我有一行单词后跟一个空行并且我想用 J
删除该空行时,它会在我的当前行中添加一个空格。我考虑过 nnoremaping
J
到 Jx
以便删除空格,但是当我连接两行时它不会添加空格其中的文字。翻阅手册后,我找不到任何听起来像我想要的内容。
以下是我希望发生的事情的一些示例。对于格式设置,我深表歉意。
目前我有:
之前(为了便于阅读,空格被替换为 -
):
Some-text
之后:
Some-text-
之前:
Some-text
Some-more
之后:
Some-text-Some-more
我想要:
之前(空格替换为 -
以提高可读性):
Some-text
之后:
Some-text
之前:
Some-text
Some-more
之后:
Some-text-Some-more
简而言之,当连接包含字符的行时我想要一个空格,而当连接的行为空时不添加空格。
最佳答案
如果下一行为空,您可以定义一个函数在 gJ
和 J
之间切换。然后将该函数映射到 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/