您的位置:首页 > 其它

vim tab设置为4个空格

2013-04-02 15:26 267 查看
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 取消设置)

在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab

对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
[b]TAB替换为空格:[/b]
:set ts=4
:set expandtab
:%retab!

空格替换为[b]TAB
[/b]:set ts=4
:set noexpandtab
:%retab!

加!是用于处理非空白字符之后的[b]TAB,即所有的TAB,若不加!,则只处理行首的TAB。[/b]

在.vimrc文件中输入如下文本:
set tabstop=4   设置制表符空格数
set softtabstop=4
set shiftwidth=4   设置缩进空格数
set noexpandtab  设置不将制表符替换为空格
set nu       设置显示行号
set autoindent
set cindent

其中:Tabstop:表示一个 tab 显示出来是多少个空格的长度,默认 8。
Softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。
Shiftwidth:表示每一级缩进的长度,一般设置成跟 softtabstop 一样。 当设置成 expandtab 时,缩进用空格来表示noexpandtab 则是用制表符表示一个缩进。
Nu:表示显示行号。
Autoindent:表示自动缩进。
Cindent:是特别针对C语言自动缩进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: