VIM学习笔记 缩进 (Indent)

(学习vim时看到的一篇很全的缩进学习笔记,所以转载了)
(装载自http://www.360doc.com/content/16/0320/11/31808797_543774173.shtml


手动缩进

在Normal Mode下,命令>>将对当前行增加缩进,而命令<<则将对当前行减少缩进。我们可以在命令前使用数字,来指定命令作用的范围。例如以下命令,将减少5行的缩进:

5<<

在Insert/Replace Mode下,Ctrl-Shift-t可以增加当前行的缩进,而Ctrl-Shift-d则可以减少当前行的缩进。使用0-Ctrl-Shift-d命令,将移除所有缩进。需要注意的是,当我们输入命令中的“0”时,Vim会认为我们要在文本中插入一个0,并在屏幕上显示输入的“0”;然后当我们执行命令0-Ctrl-Shift-d时,Vim就会意识到我们要做的是减少缩进,这时0会就会从屏幕上消失。

缩进宽度默认为8个空格。我们可以使用以下命令,来修改缩进宽度:

:set shiftwidth=4

通过以下设置,每次点击Tab键,将增加宽度为8列的Tab缩进。

:set tabstop=8

:set softtabstop=8

:set shiftwidth=8

: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

命令小结
1、>>
Ctrl-Shift-t 增加缩进
2、<<
Ctrl-Shift-d 减少缩进
3、:set shiftwidth=n 设置缩进宽度
4、:set cindent 启用cindent缩进结构
5、:set autoindent 启用autoindent缩进结构
6、:set smartindent 启用smartindent缩进结构

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章