在 vi 中增加或减少大块代码的缩进最简单的方法是什么?
11 回答
在 vim 中(不确定这是否也适用于你),你>>
习惯缩进一行。与 vim 中的几乎所有命令一样,在要执行的命令多次之前输入一个数字。因此,要缩进接下来的 50 行,请键入50>>
。
自动识别:
对于 { } 块,我使用命令:=iB(将光标置于块内以识别)
为了重新识别一个完整的文件,我使用gg=G
现在要增加或减少块上的标识,您必须选择它(我使用viB命令),然后执行>>或<<,如果您想重复标识,只需使用 dot 。
还记得设置您的身份设置
:set shiftwidth=NUMOFSPACES
和
:set softtabstop=NUMOFSPACES
标记它,然后使用 > 和 <。
如果您的代码在花括号之间,则将光标放在其中一个花括号上并使用>%
or <%
。
默认情况下,在插入模式下,您可以使用Ctrl-T
和Ctrl-D
取消/意图当前行。
另一个有用的命令是,一旦你使用 '<' 或 '>' 缩进,使用 '.' 重复该命令,直到它按您想要的方式排列。
此外,您可以查看http://vim.wikia.com/以获取有关此类事情的提示。
点击 v 进入可视模式并向下箭头,因此选择整个块然后 12>>
将两个尖括号(“<<”或“>>”)用于向左或向右的一行 shiftwidth 字符。您可以使用常用的行范围指示符 - ":m,n"、大括号/括号/括号匹配等来做到这一点。
或“<”,然后是运动指示器,然后是另一个“<”。
或 "<12<" 将接下来的 12 行左移。
:50,100>
将第 50 到 100 行缩进一次
:50,100>>
将第 50 到 100 行缩进两次
也适用于 < 和 << 等。
首先使用 Control-g 命令找到开始行和结束行的行号。让这些是m和n。假设我们希望将行号m到n缩进5 个空格。然后,以下命令完成这项工作,
:m,ns/^/ /g
要减少缩进,首先将所有制表符转换为(例如 4 个)空格。
:m,ns/\t/ /g
然后假设我们希望从编号为m到n的行中删除 3 个空格。
:m,ns/^ //g