vim的shiftwidth、tabstop、softtabstop设置

原创 2010年06月09日 10:57:00

1 shiftwidth

这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时它也是符号移位长度的制定者。

2 tabstop

定义tab所等同的空格长度,一般来说最好设置成8,因为如果是其它值的话,可能引起文件在打印之类的场合中看起来很别扭。除非你设置了 expandtab模式,也就是把tabs转换成空格,这样的话就不会一起混淆,不过毕竟制表符为8是最常用最普遍的设置,所以一般还是不要改。

3 softtabstop

如果我们希望改变程序中的缩进怎么办?shiftwidthtabstop不一样的话,你会发现程序比较难看的。这时候,softtabstop就起作用了。可以从vim的说明中看到,一旦设置了softtabstop的值时,你按下tab键,插入的是空格和tab制表符的混合,具体如何混合取决于你设定的softtabstop,举个例子,如果设定softtabstop=8, 那么按下tab键,插入的就是正常的一个制表符;如果设定 softtabstop=16,那么插入的就是两个制表符;如果softtabstop=12,那么插入的就是一个制表符加上4个空格;如果 softtabstop=4呢?那么一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符。换句话说,softtabstop是“逢8空格进1制表符”,前提是你tabstop=8

4 关于expandtab

举个例子,在多人一起开发项目时,为了使代码风格尽量保持一致,一般不允许在代码使用TAB符,而以4个空格代之。我们可以编辑一个文件,包含下面的内容:
set shiftwidth=4
set expandtab

然后把下面的命令加入到.vimrc中:
autocmd FileType c,cpp set shiftwidth=4 | set expandtab

就可以只在编辑c和cpp文件时实行这种设置了

vim中tabstop、shiftwidth、softtabstop以及expandtab的关系

下面的内容,有一部分来自于
  • chenxiang6891
  • chenxiang6891
  • 2014年11月21日 13:54
  • 10436

vim的shiftwidth、tabstop、softtabstop设置 (我都设置成4了)

1 shiftwidth 这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时它也是符号移位长度的制定者。 2 tabstop 定义tab所等同的空...
  • yefengxuelang
  • yefengxuelang
  • 2013年12月09日 15:25
  • 1565

Vim 缩进总结

在linux上编辑文件时,有时候从别的地方copy过来的代码要缩进,如果一行一行的搞,忒麻烦耗时了,下面是自己使用中不同模式下的一些缩进快捷方法:一、 normal 模式下 >> 当前行增加缩进...
  • jobschen
  • jobschen
  • 2016年08月26日 14:54
  • 3028

vim的shiftwidth、tabstop、softtabstop设置 (我都设置成4了)

1 shiftwidth 这个是用于程序中自动缩进所使用的空白长度指示的。一般来说为了保持程序的美观,和下面的参数最好一致。同时它也是符号移位长度的制定者。 2 tabstop 定义tab所等同的空...
  • yefengxuelang
  • yefengxuelang
  • 2013年12月09日 15:25
  • 1565

linux vim支持语法颜色

set nocompatible " 关闭 vi 兼容模式 syntax on " 自动语法高亮 colorscheme evening ...
  • q601115211
  • q601115211
  • 2014年03月27日 16:51
  • 2056

MFC中应用duilib的相关兼容性问题处理

本文致力于解决在MFC中应用duilib的相关兼容性问题。   duilib非常强大,目前已经被各大公司广泛应用,但基本都是基于win32的;一份与MFC混合使用的DEMO,使得我们这些在老的MF...
  • TragicGuy
  • TragicGuy
  • 2014年04月13日 11:02
  • 2883

html 更改tab键焦点

1. 如何调整焦点到一个DIV上,How to focus to a DIV in Javascript? Div元素不是Input,所以通常意义上focus()会失效。 document.ge...
  • zhuchunyan_aijia
  • zhuchunyan_aijia
  • 2016年04月11日 11:45
  • 2191

linux vim 编辑器的颜色方案等自定义配置

废话不多说直接上图: 操作流程: 1.使用命令:  cd /etc/vim  进入配置目录 2.sudo vim vimrc 3.后面几行按自己喜好设置...
  • ghostyusheng
  • ghostyusheng
  • 2016年07月08日 14:24
  • 8609

我的VIM配置保存

~/.vim中各种插件打包: http://download.csdn.net/detail/zhakalamu/4989734 ~/.vimrc文件 "允许鼠标的使用,防止linu...
  • zhakalamu
  • zhakalamu
  • 2013年01月13日 10:47
  • 508

深入理解vim编码设置

vim的使用环境比较复杂,可以通过terminal在本地使用(比如Mac或Linux主机),也可以ssh连接到远程服务器使用,还可以使用gvim。这里主要讨论terminal下的使用,搞清楚了vim在...
  • littlewhite1989
  • littlewhite1989
  • 2017年02月22日 11:00
  • 694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vim的shiftwidth、tabstop、softtabstop设置
举报原因:
原因补充:

(最多只允许输入30个字)