它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?
当前回答
除了已经给出并接受的答案外,还可以放置标记,然后将当前光标到标记的所有内容缩进。
因此,在需要缩进块顶部的位置输入ma,将光标向下移动到需要的位置,然后键入>‘a(注意,“a”可以替代任何有效的标记名)。这有时比5>>或vjjj>更容易。
其他回答
使用>命令。要缩进五行,请5>>。要标记一个行块并缩进它,Vjj>缩进三行(仅限Vim)。要缩进大括号块,请将光标放在其中一个大括号上,然后使用>%或从块内的任何位置使用>iB。
如果要复制周围的文本块,并且需要在新位置对齐块的缩进,请使用]p而不是p。这会将粘贴的块与周围的文本对齐。
此外,shiftwidth设置允许您控制缩进多少空格。
除了已经给出并接受的答案外,还可以放置标记,然后将当前光标到标记的所有内容缩进。
因此,在需要缩进块顶部的位置输入ma,将光标向下移动到需要的位置,然后键入>‘a(注意,“a”可以替代任何有效的标记名)。这有时比5>>或vjjj>更容易。
我使用块模式视觉选择:
到块的前面移动(在顶部或底部)。按Ctrl+V进入视觉块模式。导航以选择行前面的列。按I(Shift+I)进入插入模式。键入一些空格。按Esc键。所有线路都会移位。
这不是一蹴而就。它起作用:
在队伍中间。在所有行上插入任何字符串。要更改列(使用c而不是I)。拖动、删除、替换等。。。
假设您使用2个空格缩进代码。类型:
:set shiftwidth=2
键入v(进入视觉块编辑模式)使用箭头键(或使用h/j/k/l)移动光标以高亮显示要缩进或不缩进的行。
然后:
键入>以缩进一次(2个空格)。键入2>以缩进两次(4个空格)。键入3>以缩进三次(6个空格)。...键入<以取消缩进一次(2个空格)。类型2<取消缩进两次(4个空格)。类型3<至无凹痕三次(6个空格)。...
你明白了。
(空行不会缩进,我觉得这有点不错。)
我在(g)vim文档中找到了缩进块的答案:
:help visual-block
/indent
如果要给命令计数,请在键入之前执行此操作运算符字符:“v{movearound}3>”(将第3行缩进到右侧)。
要将所有文件缩进四:
esc 4G=G
推荐文章
- 强迫自己掌握vi的最好方法是什么?
- 如何在Atom中更改缩进模式?
- 如何回到行之前编辑的最后一个在Vim?
- 如何缩进/格式选择的代码在Visual Studio代码?
- 如何跳转到一个特定的人物在vim?
- 如何删除一个大的文本块而不计算行?
- 在Python中格式化多行字典的正确方法是什么?
- 是否有Eclipse行宽标记?
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何在vim中自动删除尾随空格
- git可以自动在空格和制表符之间切换吗?
- 为什么Vim使用~扩展名保存文件?
- 如何在Vim或Linux中将空格转换为制表符?
- 如何在编辑器(Atom, notepad++, Kate, VIM, Sublime, Textpad等)和ide (NetBeans, IntelliJ IDEA, Eclipse, Visual Studio等)中选择列
- 使用Emacs递归地查找和替换尚未打开的文本文件