如何在vim中删除/拖动粘贴并使其正确缩进?(不是说:粘贴)
请注意,这与:粘贴/:nopaste和剪贴板无关。我说的是完全在vim d,y,p中复制和粘贴 将代码块从外部块复制并粘贴到内部块是很常见的。不幸的是,缩进仍然在外部块的级别,我必须在之后缩进它 我想做的是从:如何在vim中删除/拖动粘贴并使其正确缩进?(不是说:粘贴),vim,auto-indent,Vim,Auto Indent,请注意,这与:粘贴/:nopaste和剪贴板无关。我说的是完全在vim d,y,p中复制和粘贴 将代码块从外部块复制并粘贴到内部块是很常见的。不幸的是,缩进仍然在外部块的级别,我必须在之后缩进它 我想做的是从: function foo() { } var bar; var bazz; 到 在vim中,我通常做的是: 我去排队 2切换到可视模式 3突出显示行 4 dd删除行 5向上移动光标 要粘贴的6个p 7进入视觉模式 8突出显示行 9>>以缩进行 我希望它自动缩进到正确的位置。如果我不需要
function foo() {
}
var bar;
var bazz;
到
在vim中,我通常做的是:
我去排队
2切换到可视模式
3突出显示行
4 dd删除行
5向上移动光标
要粘贴的6个p
7进入视觉模式
8突出显示行
9>>以缩进行
我希望它自动缩进到正确的位置。如果我不需要重新突出显示行,然后手动缩进它们,那么这将是一个更加平滑的工作流程。换句话说,取消步骤7-9
有人知道这样做的方法吗?您可以轻松地将其制作成一个键映射,作为粘贴的一部分自动缩进 比如说,
nnoremap gp p`[v`]=
细分:
p to paste text
`[v`] to selecte Pasted text
= to autoindent selected text
我遇到了这个插件
看起来它与上面提到的ronakg做了相同的事情,还增加了一些功能。这是一个很好的插件。我也用它。但了解这些东西是如何工作的很好。干杯
p to paste text
`[v`] to selecte Pasted text
= to autoindent selected text