请注意,这与/和剪贴板无关。我说的是完全在 vim 中复制和粘贴 ( , , )。:paste:nopastedyp
将代码块从外部块复制并粘贴到内部块中是很常见的。不幸的是,缩进仍然位于外部块的水平,我必须随后缩进它。
我想做的是从:
function foo() {
}
var bar;
var bazz;
Run Code Online (Sandbox Code Playgroud)
到
function foo() {
var bar;
var bazz;
}
Run Code Online (Sandbox Code Playgroud)
在 vim 中我通常做的是:
1)去线
2)切换到可视模式
3)突出显示行
4)dd删除行
5) 向上移动光标
6)P粘贴
7)进入可视模式
8)突出显示行
9)>>缩进行
我希望它自动缩进到正确的位置。如果我不需要重新突出显示行然后手动缩进,这将是一个更加顺畅的工作流程。换句话说,消除步骤 7-9。
有人知道有办法做到这一点吗?
您可以轻松地将其设为在粘贴过程中自动缩进的键盘映射。
例如,
nnoremap gp p`[v`]=
Run Code Online (Sandbox Code Playgroud)
分解:
p to paste text
`[v`] to selecte Pasted text
= to autoindent selected text
Run Code Online (Sandbox Code Playgroud)