它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?
当前回答
要缩进文件类型中的每一行,请按Esc,然后按G=gg。
其他回答
对我来说,MacVim(Visual)解决方案是用鼠标选择并按“>”,但在“~/.vimrc”中输入以下行后,因为我喜欢空格而不是制表符:
set expandtab
set tabstop=2
set shiftwidth=2
此外,能够从命令行(Terminal.app)调用MacVim也是很有用的,因为我有以下助手目录“~/bin”,我在其中放置了一个名为“MacVim”的脚本:
#!/usr/bin/env bash
/usr/bin/open -a /Applications/MacPorts/MacVim.app $@
当然,在“~/.bashrc”中:
export PATH=$PATH:$HOME/bin
MacPorts经常使用“~/.profile”,因此PATH环境变量可能会很长。
一个很大的选择是:
gg=G
它真的很快,所有东西都会缩进;-)
对于喜欢使用<TAB>->TAB和<S-TAB>->Shift+TAB缩进选定行的现代编辑器:
vnoremap <TAB> >gv
vnoremap <S-TAB> <gv
用法:按V键进入逐行视觉模式,选择所需的行,然后按Tab键(可能有移位),然后按需应用缩进,选择仍保留。。。
:line_num_start,line_num_end>
例如
14,21> shifts line number 14 to 21 to one tab
增加更多选项卡的“>”符号。
例如
14,21>>> for three tabs
可以使用norm i命令在行的开头插入给定的文本。要在第2-10行前插入10个空格:
:2,10norm 10i
请记住,命令末尾必须有一个空格字符——这将是我们想要插入的字符。我们还可以用任何其他文本缩进一行,例如用五个下划线字符缩进文件中的每一行:
:%norm 5i_
或者更花哨的东西:
:%norm 2i[ ]
更实际的例子是用#字符注释Bash/Python/etc代码:
:1,20norm i#
要重新缩进,请使用x而不是i。例如,要从每行中删除前5个字符:
:%norm 5x