它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?
当前回答
转到文本开头
按v进入视觉模式。使用向上/向下箭头突出显示文本。按=缩进高亮显示的所有行。
其他回答
Vim UI的优点在于其一致性。编辑命令由命令和光标移动组成。光标移动始终相同:
H到屏幕顶部,L到底部,M到中间nG到第n行,G单独到文件底部,gg到顶部n移动到下一个搜索匹配,n移动到上一个}至段落末尾%到下一个匹配的括号,括号或标记类型进入下一行“x标记x,其中x是字母或其他字母”。还有很多,包括单词的w和w、行尖的$或0等,这些都不适用于这里,因为它们不是行移动。
因此,为了使用vim,您必须学会移动光标并记住一系列命令,例如,>to indent(和<to“outdent”)。
因此,要将光标位置的行缩进到屏幕顶部,请执行>H,>G以缩进到文件底部。
如果不是键入>H,而是键入dH,则删除相同的行块,cH替换它,等等。
某些光标移动更适合特定命令。特别是,%命令可以方便地缩进整个HTML或XML块。如果文件突出显示了语法(:syn on),则在标记的文本中设置光标(例如,在<div>的“i”中,输入>%将缩进到最后的</div>标记。
这就是Vim的工作原理:只需要记住光标移动和命令,以及如何混合它们。因此,我对这个问题的回答是:如果缩进被解释为移动行,=如果缩进被理解为在漂亮的打印中,那么“转到要缩进的行块的一端,然后键入>命令并移动到块的另一端”。
当您选择一个块并使用>缩进时,它将缩进,然后返回正常模式。我的.vimrc文件中有这个:
vnoremap < <gv
vnoremap > >gv
它使您可以根据需要多次缩进所选内容。
假设您使用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行缩进到右侧)。
使用VISUAL MODE的快速方法使用与注释代码块相同的过程。
如果您希望不更改shiftwidth或使用任何set指令,并且足够灵活,可以使用TABS或SPACE或任何其他字符,则此选项非常有用。
将光标定位在块的开头v切换到--视觉模式--选择要缩进的文本类型:切换到提示替换为3个前导空格::'<,'>s/^//g或替换为前导制表符::'<,'>s/^/\t/g简要说明:“<,”>-在可视选定范围内s/^//g-在整个范围内的每行开头插入3个空格(或)s/^/\t/g-在整个范围内每行的开头插入制表符
转到文本开头
按v进入视觉模式。使用向上/向下箭头突出显示文本。按=缩进高亮显示的所有行。
推荐文章
- JavaScript错误(Uncaught SyntaxError:意外的输入结束)
- 使用vimdiff查看所有' git diff '
- 禁止在vim中创建交换文件
- NERDTree重载新文件
- 在Vim中,我想返回一个词。w的反义词
- 在tmux模式中丢失vim配色方案
- 在VIM中删除光标后面或周围的单词
- 如何在vi文本编辑器中获得文件的sudo访问权限?
- 我如何可以删除在VIM所有文本从当前行文件结束?
- 如何在vim中剪切一整行并粘贴它?
- /etc/apt/sources.E212:无法打开文件写入
- 向左/向右移动窗口?
- 如何使Vim不突出显示所搜索的内容?
- 哪些Vim命令可以用来引用/取消引用单词?
- 如何从文件跳转回NERDTree在选项卡?