在 Vim 中缩进一串行
有没有一种方法可以在 Vim 中缩进选定的行,就像我们在文本编辑器中选择一堆行并按 Tab (或 Shift Tab)来缩进/取消缩进所选行一样?
我说的是一般缩进,与代码缩进无关。
Is there a way to indent a selection of lines in Vim, like we have in text editors where we select a bunch of lines and press tab (or shift tab) to indent/unindent the selected lines?
I am talking about general indentation and not related to code indentation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以使用可视线模式选择一组线(通过 Shift + V),然后键入
>,
并输入 > 来取消缩进,
< kbd><
您还可以添加数字参数。发现你缩进不够?按gv重新选择您之前的选择。
在正常模式下键入时,尝试使用 Ctrl + T 或 Ctrl + D 进行缩进或缩进。
You can select a set of lines with visual line mode (via Shift + V), and then type
>
and, to dedent,
<
You can also add numeric arguments. Find out you didn't indent enough? Hit gv to re-select your previous selection.
While typing in normal mode, try out Ctrl + T or Ctrl + D to indent or dedent.
使用视觉模式按照 Peter 建议。您还可以使用 X>>,其中
X
是您要缩进的行数。例如 5>> 从当前行开始缩进五行。Use visual mode as Peter suggests. You can also use X>> where
X
is the number of lines you want to indent. E.g. 5>> indents five lines from current line and down.我使用以下映射来缩进/取消缩进:
使用 TAB 缩进并使用 shift-TAB 取消缩进视觉上选择的行。
如果选择了一个块,Vim 缩进/取消缩进,开头的右边是什么
块。
I use the following mappings to indent/unindent:
Use TAB to indent and shift-TAB to unindent the visually selected lines.
If a block is selected Vim indents/unindents what is right of the start of
the block.
正如其他答案所建议的,您可以使用 >。或者,您可以通过在可视模式下选择行集(使用 shift+V),然后使用 = 自动正确缩进代码,或使用 == 缩进当前行。
As suggested by the other answers you can use >. Alternatively, you can automatically correctly indent your code by selecting the set of line in visual mode (using shift+V), and then using =, or using == to indent the current line.
有一个关于这个主题的 Vim Cast:缩进命令
我喜欢Vim 演员表。它们内容丰富且令人愉悦。
There's a Vim Cast on this topic: Indentation commands
I like Vim Casts. They are informative and pleasant to watch.