多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示。事实上tab也确实是8个空格的长度。不过由于习惯问题,某些童鞋还是希望在linux上也感受tab键为4个空格长度的显示,因为vi编辑器在linux上是那么地众所周知,所以下面就开始谈如何设定vim编辑器对tab键的显示长度问题。

关于vim对tab键的设定问题,我在网上也查过一些资料,不过大部分都解释的不清楚,只是照着其设定的代码copy一份到配置文件中,对每一行代码具体所起的作用则不甚清楚,本篇章根据国外一篇文章对tab键设定的讲述加之自己亲自在centos7上进行不断尝试进行总结。

1 set tabstop=a

这句话是设置将一个\t等价为a个空格。

1 set softtabstop=b

这句话是设置在插入(insert)模式下,按下一个tab键后所产生的空白长度为b。

1 set expandtab

这句话的作用是将tab所占的空白位用空格填充。

小结:

如果设置了expandtab

  当按下tab键时,在源文件中会插入b个空格。

如果没有设置expandtab

  1、假设当a=3,b=8时(a<b),按下tab键要插入b=8个空白位,而一个\t等价于a=3个空格,所以就在源文件中插入两个\t和两个空格。

  2、假设当a=8,b=3时(b>a),按下tab键要插入b=3个空白位,由于一个\t等价于a=8个空格,所以不能插入\t,只能插入3个空格,但是连按3下tab键,应该插入9个空格,这时不会插入9个空格,而是插入一个\t和一个空格。

1 set shiftwidth=c

这句话是用来设置在编辑模式(vim进入后的默认模式)下使用(>>或<<)缩进代码时所占的空白位的长度。

转载于:https://www.cnblogs.com/flyor/p/6408097.html

vim的tab键设定相关推荐

  1. vim中tab键8空格换4空格

    前言 很多时候,都看不惯vim中tab键8个空格,觉得这个空格实在是太长了,浪费屏幕,那么现在就让你解决掉8个tab键8个空格,换成4个空格. 具体步骤 打开文件:/etc/vimrc vim /et ...

  2. vim 显示tab键

    1.文件中有 TAB 键的时候,你是看不见的.要把它显示出来: :set list :set list 现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白  字符在 ...

  3. Ubuntu下vim设置tab键为4个空格

    1.Ubuntu下vim tab键默认为8个字节缩进,但是我们实际编程的时候感觉缩进量太大,很不美观 2.我们怎么设置tab键缩进大小呢? (1)若/etc/vim/vimrc目录下为可读可写,直接进 ...

  4. CentOS下设置vim的tab键为4格

    # vim /etc/vimrc 在最后一行添加 set softtabstop=4 或者set tabstop=4 或者在~/.vimrc中添加也可以 没有~/.vimrc文件可以创建一个 另: s ...

  5. Ubuntu 下vim中tab键变为4个空格

    1.首先切换到超级用户 sudo -i 2.输入命令 vim /etc/vim/vimrc 3.把以下三行添加进去(注意不要加双引号,双引号是注释的意思)set ts=4set expandtabse ...

  6. Linux vim设定Tab键缩进

    Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8452347 Linux系统中vim设置tab键的宽度 在 Vi ...

  7. 设置 vim 显示行号/ Tab 键缩进为4格

    设置 vim 显示行号/ Tab 键缩进为4格 1. 临时显示行号 在 INSERT 模式下,键入 ESC 退出 INSERT 模式,然后输入 : (注意是英文输入法下),紧接着键入 set numb ...

  8. vim使用四个空格代替TAB键

    让VIM可以在你写程序的时候自动缩进,并用4个空格代替TAB键. 编辑 ~/.vimrc 保存这四行: "set smartindent", "set tabstop=4 ...

  9. Tab键== 4个空格并在Vim中的花括号后自动缩进

    我如何制作vi - Vim从不使用制表符(将空格转换为制表符,不好!),制作Tab键== 4个空格,并在像Emacs这样的大括号块之后自动缩进代码? 另外,如何保存这些设置,以便我再也不必输入它们? ...

最新文章

  1. INSTALL_FAILED_INVALID_APK
  2. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  3. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
  4. python 必备模块和包_Python_异常和模块
  5. 男人必看,男性排毒同样重要 - 生活至上,美容至尚!
  6. oracle asm和文件系统,Oracle工具之--ASM与文件系统及跨网络传输文件
  7. sklearn预处理转化流水线
  8. SAP 产品 UI 里的容器组件的概念和开发概述
  9. win10怎么放计算机在桌面,win10我的电脑怎么放在桌面
  10. java当前月份减一个月_Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月...
  11. html5 移动端上传图片插件,H5文件上传插件easyUpload.js
  12. 电脑经常出现程序未响应
  13. Fabric.js 上划线、中划线(删除线)、下划线
  14. 优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
  15. CMOS图像传感器的参数和评价标准
  16. jQuery无缝轮播图代码
  17. 地址有关码和地址无关码
  18. php做网站步骤_新手如何用PHP开发一个完整的网站?
  19. MATLAB---csape斜率拟合
  20. 汽车零部件行业MES解决方案

热门文章

  1. python requests是什么_如何基于Python + requests实现发送HTTP请求
  2. excel npoi 连接_Net操作Excel_NPOI(示例代码)
  3. 得力科学计算机怎么求余,山商“郭叔”:妙招讲高数 考研路上得力导师
  4. C++ 11 深度学习(十)原始字面量
  5. android wifi 通讯录,通过wifi和gmail从symbian手机中将名片夹(通讯录)导入到android手机 | 古意人...
  6. 1024到了,默默给自己点个赞!
  7. linux系统io查看计算,Linux下查看进程IO工具iopp
  8. 工业以太网交换机的接口知识详解
  9. 光纤收发器怎么连接?
  10. 网管交换机与非网管交换机的利弊介绍