是否可以复制所选区域但Vim中没有换行符和标签?
如果我复制此代码
SELECT
id,
title
FROM items
WHERE id = 3
然后粘贴它,结果应为SELECT id, title FROM items WHERE id = 3
答案 0 :(得分:4)
v isual选择 i nner p aragraph,然后选择 J
vipJ
*假设这是一个段落,光标位于其中一行
要复制到默认寄存器,请将“Vduu”追加到末尾,总计
vipJVduu
这会选择该行并将其删除并撤消,以便我们回到我们开始的地方。您现在可以将“p”粘贴到您想要的地方!
但是为什么不在你的.vimrc中添加它作为映射并使用以下内容将其添加到系统剪贴板
nmap _j vipJV"+yu
以下gif显示了正在使用的映射
_j
然后打开一个新行并在mac上用cmd-v粘贴
答案 1 :(得分:0)
移至第一行,然后
y5yP5J
表示:复制5行(y5y
),然后将其粘贴到上方(P
),然后加入以下5行(5J
)。当然你可以将它们粘贴到任何地方,只需将光标移动到那里。我把它们粘贴在上面就好了。
或者,您可以
VjjjjJyyu
选择查询(Vjjjj
),连接线(J
),复制连接线(yy
),然后取消连接(u
)。这可能是更一般的方法,因为您不需要像以前那样重复两次行数(5)。
答案 2 :(得分:0)
您可以使用我的UnconditionalPaste plugin;无论寄存器类型如何,它都提供gcp
映射以粘贴字符。 (对于其他类型的几个类似的映射,以及在行之间粘贴常见或查询的字符等)。