转自:http://blog.chinaunix.net/uid-24774106-id-3396220.html

在自己的目录下编辑自己的.vimrc,

  1. vim ~/.vimrc

添加下面的几行:

  1. : filetype indent on
  2. set et
  3. set ci
  4. set shiftwidth=4
  5. autocmd FileType make setlocal noexpandtab

解释下含义,

  1. set ci
    表示采用类似c 语言的缩进风格。
 
                            与自动缩进相关的变量表

变量名 缩写 含义
(no)autoindent ai 自动缩进,即为新行自动添加与当前行同等的缩进。
(no)cindent ci 类似C语言程序的缩进
(no)smartindent si 基于autoindent的一些改进
  1. set et
    作用是展开tab,将用户输入的tab自动展开成若干个空格,至于多少空格,看shiftwidth。

与TAB相关的变量表
变量名 缩写 含义
tabstop=X ts 编辑时一个TAB字符占多少个空格的位置。
shiftwidth=X sw 使用每层缩进的空格数。
(no)expandtab (no)et 是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
softtabstop=X sts 方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
(no)smarttab (no)sta 开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。

在这种情况下,可以格式化我们的C 代码了。

  1. 1  gg           回到文件的第一行
  2. 2 shift+v
  3. 3 shift+g      回到文件的最后一行
  4. 4 =            格式化

(扩展一下,如果想要格式化当前光标之后的8行,没有第一步骤,第三步骤为:shift+8)

这样就完毕了。这样出来了C 风格的缩进,同时也满足了tab键变成了4个空格。

同时我们注意,Makefile的tab键不允许扩展成4个空格,否则会出现语法错误。所以我们用了 下面语句对Makefile类型特殊处理。

  1. autocmd FileType make setlocal noexpandtab

另外一点对于新写的代码满足了table变成了4个空格,但是对老文件,并不会重新排版,用户可以采用如下命令重新解析tab键

  1. :retab

这个工具非常有用,写代码的时候,就不必计较格式稍微有点不工整,同时编辑的时候还可以用tab键(总比不停敲四个空格效率高),显示的时候又不会混乱。

    采用这个之前,可以看到tab键并没有变成空格,不同的编辑器对tab的解读不同造成输出结果不是预期的。

采用这个之后配置之后,tab变成四个空格,无论在什么编辑器下看,都是一致的输出。

最新文章

  1. GDB调试命令小结
  2. 神经网络与深度学习(3):Backpropagation算法
  3. 在Mac上开发使用yeoman构建Asp.net core项目并且实现分层引用
  4. 小米网站登录源码C#版
  5. android摇一摇实现(仿微信)
  6. php中读写excel表格文件示例。
  7. mongodb 的安装和使用
  8. BZOJ2463 谁能赢呢?
  9. TCP/IP协议原理与应用笔记22:静态和动态路由选择
  10. [010]Try块和异常处理
  11. 利用Azure高级存储搭建高性能Linux服务器(1)
  12. 16进制字符串转换为byte数组
  13. leetcode 刷道题 70 earch Insert Position 二进制搜索插入位置
  14. pkuseg:一个多领域中文分词工具包
  15. 完全卸载删除gitlab
  16. Angular2入门:TypeScript的类型 - let , var, const
  17. [python] 查找列表中重复的元素
  18. SpringBoot在Kotlin中的实现(二)
  19. ajax回退的解决方案
  20. Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU

热门文章

  1. iOS开发Xcode7真机调试教程
  2. XAML语言介绍
  3. map find 是线程安全的吗
  4. 谈谈Delphi中的类和对象4---类是一种对数据和操作高度的封装机制 &amp;&amp; 类是一种代码重用机制
  5. NPOI 通用导出数据到Excel 分类: C# Helper 2014-11-04 16:06 246人阅读 评论(0) 收藏
  6. wp8 入门到精通 高仿微信发信息 键盘不消失
  7. ASP.NET 5探险(5):利用AzureAD实现单点登录
  8. Linux学习笔记(3)Linux常用命令之文件处理命令
  9. sql篇,动态合并数据
  10. 【POI xls】解析xls遇到的问题