是否可以在 VIM 中围绕一段代码包装一个代码块?例如,如果我想围绕以下内容包装一个 while 循环,我该如何做到这一点而不必滚动到代码底部以添加右大括号:
if(z > y)
{
switch(x)
{
case 1:
addPoint();
break;
case 2:
addValue();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这是之后的代码的样子:
while (a > 10)
{
if(z > y)
{
switch(x)
{
case 1:
addPoint();
break;
case 2:
addValue();
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Vim 没有内置的周边系统。我建议你看看 Tim Pope 的优秀环绕插件。然后假设你定位在if
你可以这样做:
Vj%SBIwhile (a > 10)
Run Code Online (Sandbox Code Playgroud)
Vj%
选择的块+条件。SB
围绕所述选择的文本用{
,}
(读取与块环绕)你不需要环绕来做到这一点。你可以用普通的香草 vim 来做到这一点。
Vj%>`]o}<esc>g;g;Owhile (a > 10)<cr>{<esc>
Run Code Online (Sandbox Code Playgroud)
但是我更喜欢使用环绕,因为它是一个非常方便的插件。
如需更多帮助,请参阅:
:h %
:h g;
:h `]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1177 次 |
最近记录: |