http://blog.163.com/clevertanglei900@126/blog/static/11135225920116891750734/html
在Normal Mode下,命令>>
将对当前行增长缩进,而命令<<
则将对当前行减小缩进。咱们能够在命令前使用数字,来指定命令做用的范围。例如如下命令,将减小5行的缩进:vim
5<<
ide
在Insert/Replace Mode下,Ctrl-Shift-t能够增长当前行的缩进,而Ctrl-Shift-d则能够减小当前行的缩进。使用0-Ctrl-Shift-d命令,将移除全部缩进。须要注意的是,当咱们输入命令中的“0”时,Vim会认为咱们要在文本中插入一个0,并在屏幕上显示输入的“0”;而后当咱们执行命令0-Ctrl-Shift-d时,Vim就会意识到咱们要作的是减小缩进,这时0会就会从屏幕上消失。spa
缩进宽度默认为8个空格。咱们能够使用如下命令,来修改缩进宽度:设计
:set shiftwidth=4
3d
经过如下设置,每次点击Tab键,将增长宽度为8列的Tab缩进。code
:set tabstop=8
orm
:set softtabstop=8
htm
:set shiftwidth=8
blog
:set noexpandtab
使用如下设置,每次点击Tab键,增长的缩进将被转化为4个空格。
:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab
其中,expandtab选项,用来控制是否将Tab转换为空格。可是这个选项并不会改变已经存在的文本,若是须要应用此设置将全部Tab转换为空格,须要执行如下命令:
:retab!
自动缩进
在Vim中还能够进行自动缩进,主要有cindent、smartindent和autoindent三种。
cindent Vim能够很好的识别出C和Java等结构化程序设计语言,而且能用C语言的缩进格式来处理程序的缩进结构。能够使用如下命令,启用cindent缩进结构:
:set cindent
smartindent 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。此外还增长了识别C语言关键字的功能。若是一行是以#开头的,那么这种格式将会被特殊对待而不采用缩进格式。能够使用如下命令,启用smartindent缩进结构:
:set smartindent
autoindent 在这种缩进形式中,新增长的行和前一行使用相同的缩进形式。能够使用如下命令,启用autoindent缩进形式。
:set autoindent
>> |
增长缩进 |
Ctrl-Shift-t |
|
<< |
减小缩进 |
Ctrl-Shift-d |
|
:set shiftwidth=n |
设置缩进宽度 |
:set cindent |
启用cindent缩进结构 |
:set autoindent |
启用autoindent缩进结构 |
:set smartindent |
启用smartindent缩进结构 |