如何在
vim中连接两行并将光标留在原始位置而不是跳转到合并点?
例如,将光标放在插入符指示的位置,取以下两行:
this is ^line one this is line two
由J合并产生:
this is line one ^this is line two
我该如何生产:
this is ^line one this is line two
我尝试过CTRL-O和”的变体.这些似乎都不起作用.它们到达行的开头,而不是原始光标位置.
另一种不会踩踏标记的方法是这样的:
原文链接:https://www.f2er.com/bash/383990.html:nnoremap <silent> J :let p=getpos('.')<bar>join<bar>call setpos('.',p)<cr>
更冗长,但它可以防止你失去一个标记.
>:nnoremap – 非递归映射>< silent> – 按下映射时不要回显任何内容> J – 地图的关键>:let p = getpos(‘.’) – 存储光标位置>< bar> – 命令分隔符(|用于地图,请参阅:help map_bar)> join – 普通J的ex命令>< bar> – ……> call setpos(‘.’,p) – 恢复光标位置>< cr> – 运行命令