当我使用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)==""
检查下一行是否为空。