我在Vim的putting
文字时遇到了麻烦。
假设我想将/* 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>');
| <==Pipe is position of cursor before paste; pasted lines are inserted here.
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 */. <== Comment is not correctly indented.
for (var j=1; j<=lineLength; j++) {
$('table tr:nth-last-child(1)').append('<td></td>');
}
}
当我使用o
开始一个新行时,Vim会自动缩进,所以它似乎也应该将putting
处理到一个新行....是否有一个命令可以让我put
具有正确缩进的新代码行?
答案 0 :(得分:3)
您可以使用// <Fills>
Fill fill0 = new Fill(); // Default fill
Fill fill1 = new Fill(
new PatternFill(
new ForegroundColor() { Rgb = new HexBinaryValue() { Value = "DCDCDC" } }
)
{ PatternType = PatternValues.Solid });
Fills fills = new Fills(); // appending fills
fills.Append(fill0);
fills.Append(fill1);
CellFormat _0_default = new CellFormat() { FontId = 0, FillId = 0, BorderId = 0 }; // Default style : Mandatory | Style ID =0
CellFormat _1_header = new CellFormat() { FontId = 1, FillId = 1, ApplyFill = true }; //HEADER
CellFormats cellformats = new CellFormats();
cellformats.Append(_0_default);
cellformats.Append(_1_header);
和]p
粘贴当前行的缩进级别。请注意,这仅适用于寄存器的内容是按行的方式。见[p
如果您想使用:h ]p
和朋友,但总是希望它是直线的,那么我建议您查看Tim Pope的unimpaired.vim插件。它还提供]p
/ >p
映射,将一个缩进级别粘贴得更深/更浅,以及粘贴然后重新缩进的<p
/ =p
,类似于{{ 1}}。
答案 1 :(得分:2)
{{1}}
答案 2 :(得分:0)
:nnoremap p p=']
与其他答案相同,但击键次数更少。无需视觉选择。