粘贴在vim中从粘贴的文本中删除换行符

时间:2013-06-14 18:11:24

标签: vim

我正在将大量文本从PDF文档复制到vim中,但是当您从PDF而不是Web浏览器进行复制粘贴时,每次PDF行在段落中断时,复制的文本都会包含换行符。因此,当我使用'p'粘贴到vim时,我必须多次按'J'来折叠换行符。

我更喜欢有一个命令,我可以映射到键盘上的另一个字母,该字母获取复制文本的内容并粘贴它删除换行符。知道我怎么能这样做吗?

2 个答案:

答案 0 :(得分:2)

这应该这样做:

map <leader>xx :let @* = substitute(@*, "\n", "", "g")<CR>"*p

使用您选择的映射更改<leader>xx 这个命令做了什么,它在剪贴板寄存器(这是星形寄存器)中替换了行结束符(\n),没有任何内容("")。然后它粘贴*寄存器中的文本。

答案 1 :(得分:0)

您可以使用我的UnconditionalPaste plugin。它提供gcp / gcP映射,强制粘贴为字符,即所有换行符和缩进都展平为空格。它还有其他类似的映射来强制行模式,或使用自定义分隔符粘贴等等。