我在Vim中插入文本时遇到了问题。
假设我想将我的 /* Comment */ 行粘贴到 $('table').append 代码行下面...
/* Comment */
for (var i=1; i<=lineLength ; i++) {
$('table').append('<tr></tr>');
for (var j=1; j<=lineLength; j++) {
$('table tr:nth-last-child(1)').append('<td></td>');
}
}
在大多数文本编辑器中,我的操作流程会是这样的:
- 选择 /* Comment */ 行,点击剪切。
- 将光标移动到代码第一行末尾并按回车键。
- 文本编辑器自动缩进后,我只需点击粘贴。
即:
/* Comment */
for (var i=1; i<=lineLength ; i++) {
$('table').append('<tr></tr>');
| <== 管道符号表示粘贴前光标的所在位置,粘贴的行会在这里插入。
for (var j=1; j<=lineLength; j++) {
$('table tr:nth-last-child(1)').append('<td></td>');
}
}
但在Vim中,似乎需要这样做:
- 移动到 /* Comment */ 行,按下
dd
删除该行。
- 移动到 $('table').append 代码行,按下
p
进行粘贴。
- 此时代码变为:
for (var i=1; i<=lineLength ; i++) {
$('table').append('<tr></tr>');
/* Comment */. <== 注释没有正确缩进。
for (var j=1; j<=lineLength; j++) {
$('table tr:nth-last-child(1)').append('<td></td>');
}
}
- 手动修复不正确缩进的代码。
Vim在我使用 o
开启新行时能够正确地自动缩进,所以感觉它也应该能处理好在新行上粘贴的情况。是否存在一个命令,让我可以在开启新行的同时正确缩进地粘贴代码呢?