首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Vim中,如何将代码块向右移动?

在Vim中,如何将代码块向右移动?
EN

Stack Overflow用户
提问于 2010-08-02 15:21:00
回答 8查看 36K关注 0票数 34

我正在使用Vim编辑器。这是我的情况:

代码语言:javascript
运行
复制
1111111111111
2222222222222
3333333333333
4444444444444

以上是原始代码,我想让他们如下所示。我应该怎么做才能将它们全部向右移动?

代码语言:javascript
运行
复制
    1111111111111
    2222222222222
    3333333333333
    4444444444444
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-08-02 15:23:07

在命令模式下,可以使用>>缩进一行。4>>将缩进当前和接下来的三行。

如果你事先不知道有多少行(可能很大),你可以使用ranges。转到范围的第一行,输入ma放置标记A,然后转到最后一行,输入>'a,从这里缩进到标记A。您可以使用范围做各种奇妙的事情。

它们的缩进方式取决于几个方面,比如你的移位宽度设置。我总是使用相同的shiftwidth和tabstop设置,以避免出现问题:

代码语言:javascript
运行
复制
:set ts=4 sw=4

(例如)。

票数 51
EN

Stack Overflow用户

发布于 2010-08-03 02:31:18

如果你已经在视觉模式下选择了这四行:>会将它们向右移动shiftwidth。移动后,视觉选择将消失,但您可以通过. (重复上一条命令)再次缩进。

如果您是普通模式,请将光标放在第一行的任意位置:

  • >>将缩进该行,
  • 4>>将缩进所有四行,
  • >3j将以不同的方式执行相同的操作(从此行向下缩进到三行),
  • >}将缩进所有行,直到段落结束(即缩进到第一个空行,请参见:help object-motions),and
  • >ap将缩进所有行,用于a p-aragraph (请参阅:help text-objects)。即使你的光标不在第一行。

同样,您可以通过.重复这些命令以获得更深的缩进级别(或者您可以适当地设置shiftwidth )。

如果您的文件很好地由“段落”组成(我的大部分代码和散文都是如此),我想您会发现ap文本对象是处理这样的文本块的最常用方法。您还可以使用text-objects来加快视觉选择速度。

票数 29
EN

Stack Overflow用户

发布于 2010-08-02 15:23:22

点击>

就这样。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3385753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档