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


当前回答

对于代码块,{}:=+%对于选定的行:按住Shift键并使用向上/向下箭头键选择,然后按=。对于整个文件:gg+=+G

注意:“gg”表示转到第1行,“=”是缩进命令,“G”将光标移动到文件末尾。

其他回答

执行以下操作:

$vi .vimrc

并添加此行:

autocmd FileType cpp setlocal expandtab shiftwidth=4 softtabstop=4 cindent

这仅适用于cpp文件。您可以对其他文件类型执行此操作,也可以通过修改文件类型。。。

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

对于喜欢使用<TAB>->TAB和<S-TAB>->Shift+TAB缩进选定行的现代编辑器:

vnoremap <TAB> >gv
vnoremap <S-TAB> <gv

用法:按V键进入逐行视觉模式,选择所需的行,然后按Tab键(可能有移位),然后按需应用缩进,选择仍保留。。。

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

所有命令的主人是=G

这会缩进整个文件!

下面是一些用于在Vim或gVim中快速缩进行的简单而优雅的命令。

缩进当前行==

缩进当前行下的所有行

=G

在当前行下方缩进n行

n==

例如,在当前行下方缩进4行

4==

要缩进代码块,请转到大括号之一并使用命令

=%

这些是缩进多行的最简单但功能强大的命令。