现在的位置: 首页 > 综合 > 正文

vim缩进与制表符的解析

2013年05月12日 ⁄ 综合 ⁄ 共 783字 ⁄ 字号 评论关闭

vi有一种模式叫可视模式.用于选定文本块;可以在正常模式下输入“ v”(小写)来按字符选定,
输入“V”(大写)来按行选定,或输入“Ctrl-V”来按方块选定。

shiftwidth(缩进的空格数)
说明:指用>>或<<进行缩进的空格数,例如set shiftwidth=20,再按>>就向左移动20个空格的距离.
这20个空格的距离是用tabstop来转换的,例如tabstop=5,那按>>的结果就是用4个tab来填充.

tabstop(制表符的宽度)
说明:就是一个制表符等于几个空格.

expandtab(是否在缩进和遇到 Tab 键时使用空格替代;使用 noexpandtab 取消设置)

softtabstop(软制表符宽度,设置为非零数值后使用 Tab 键和 Backspace 时光标移动的格数等于该数值,但实际插入的字符仍受 tabstop 和 expandtab 控制);
说明:
例如softtabstop=8,那么按下tab键,插入的就是正常的一个制表符;
如果设定 softtabstop=16,那么插入的就是两个制表符;
如果softtabstop=12,那么插入的就是一个制表符加上4个空格;
如果 softtabstop=4呢?那么一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符。
换句话说,softtabstop是“逢8空格进1制表符”,前提是你tabstop=8

autoindent(自动缩进,即每行的缩进值与上一行相等;使用 noautoindent 取消设置)
说明:拷贝粘贴  就在已经缩进的基础上再缩进,所以就变得很乱.
可以 set noautoindent或者设置 set paste来解决

paste(粘贴模式,会取消所有上述选项的影响来保证后面的操作——通常是从剪贴板粘贴代码
——保持原有代码的风格;使用 nopaste 取消设置)

抱歉!评论已关闭.