它应该很小,甚至可能在帮助中,但我不知道如何导航它。如何在vi中快速缩进多行?


当前回答

对我来说,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环境变量可能会很长。

其他回答

对于C缩进缩进,也可以尝试此操作。Do:help=了解更多信息:

={

这将自动缩进当前代码块。

或者只是:

==

自动缩进当前行。

除了提供的解决方案之外,我喜欢用>}一段一段地做事情

一个很大的选择是:

gg=G

它真的很快,所有东西都会缩进;-)

假设|表示光标在Vim中的位置。如果要缩进的文本包含在代码块中,如:

int main() {
line1
line2|
line3
}

您可以执行>i{,这意味着“在(i)块({)内缩进(>)”并获得:

int main() {
    line1
    line2|
    line3
}

现在假设这些线是连续的,但在块之外,例如:

do
line2|
line3
line4
done

要缩进第2行到第4行,您可以直观地选择行并键入>。或者更快,您可以做>2j以获得:

do
    line2|
    line3
    line4
done

注意,>Nj表示从当前行缩进到下面的N行。如果要缩进的行数很大,用户可能需要几秒钟才能计算出正确的N值。为了节省宝贵的时间,您可以使用设置的relativenumber激活相对数选项(从Vim 7.3版开始提供)。

转到文本开头

按v进入视觉模式。使用向上/向下箭头突出显示文本。按=缩进高亮显示的所有行。