缩进用 tab 制表符还是空格,这不是个问题,就像 python 用四个空格来缩进一样,这是要看个人喜好的。在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活。

首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进:

set tabstop=4
set softtabstop=4
set shiftwidth=4
set noexpandtab / expandtab

说明:

其中 tabstop 表示一个
tab 显示出来是多少个空格的长度,默认 8。

softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab时特别有用。

shiftwidth 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。

当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。

根据文件类型来设置 tab:

有些时候想为某些类型的文件设置不同的 tab 表现,如 python 用四个空格来表示一个缩进,在我们的 javascript 约定中也是用四个空格来表示缩进,而 HTML 和 CSS 则喜欢用 tab 制表符来缩进,那么可以做如下设置:

if has("autocmd")
    autocmd FileType javascript setlocal ts=4 sts=4 sw=4 expandtab
    autocmd FileType python setlocal ts=4 sts=4 sw=4 expandtab
endif

这样当开打的文件是 .js
.py
 的,都会用四个空格来缩进。

用特殊符号来表示 tab 制表符:

在 Vim 中可以用特殊的符号来表示一个 tab 制表符,这样 tab 制表符和空格就可以很容易的区分看来了,如下图:

在 vimrc 中加入就可以了:

set list
set listchars=tab:▸\ ,eol:¬

在 Vim 中设置 Tab 为4个空格的更多相关文章

  1. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

    1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

  2. vim中设置tab的长度的方法

    linux下使用vim编程是比較常见的事情,但vim默认的tab是8个空格.但一般的编辑器是4个空格,所以希望改动下.详细方法例如以下:1. 创建文件名称为 .vimrc 的系统文件首先切换到用户根文 ...

  3. 【转】VIM 中设置Tab

    灵活操作 Vim 中的 Tabsgaleki post @ 2007年11月16日 05:07PM in Vim Tips with tags: vim tabs Vim 支持 Tabs,也就是标签页 ...

  4. 在vim中设置tab缩进为4个字符

    编辑一个文件,进入之后一次输入 [esc] --> [ : ] --> [ set ts=4 ]vim aaa.txt

  5. vim中设置tab的长度

  6. 修改vim中的tab为4个空格

    记录一下,避免用时还得搜........ 1.临时修改 在vi中,set tabstop=4 或 set ts=4 2.永久修改 vi --version 查看要修改的文件 如果是vim的话,修改~/ ...

  7. eclipse中设置tab为4个空格

    1.insert space for tabs前打勾 2.General settings中选择Spaces only 3.搞定

  8. centos vi设置tab为4个空格 和括号自动补全

    1.打开vim配置文件 vi /etc/vimrc 2.设置tab为4个空格, 在文件末尾添加以下内容 if has( "autocmd" ) filetype plugin in ...

  9. 在vim中设置将tab自动转化为4个空格

    在vim中,我们只需要简单配置一下就ok了,打开~/.vimrc加上下面的几行(如果已经有了,修改一下数值就行了). set tabstop=4set softtabstop=4set shiftwi ...

随机推荐

  1. github pages + Hexo + 域名绑定搭建个人博客

    环境 Windows 10(64 位) Git-2.7.4-64-bit node-v4.4.7-x64 如果上述软件已经安装的,跳过,没有安装的下载安装. 1,git下载安装(https://git ...

  2. EBS开发常用编译命令

    一.编译FORM 1.将脚本写成shell脚本 cd $AU_TOP/forms/ZHS export FORMS_PATH=.:$FORMS_PATH:$AU_TOP/forms/ZHS frmcm ...

  3. iOS10软件崩溃 Xcode8崩溃 打印/字体等问题汇总 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 [1].Xcode8代码出现ubsystem: com.apple.U ...

  4. (一二四)tableView的多组数据展示和手动排序

    最近在写一个轻量级的网络游戏,遇到了技能优先顺序手动排序的需求,我就想到了iOS自带的tableView编辑功能,对其进行了初步探索,最后做出的效果如下图所示: 点击左边可以删除,拖住右边可以手动排序 ...

  5. 参数估计:最大似然估计MLE

    http://blog.csdn.net/pipisorry/article/details/51461997 最大似然估计MLE 顾名思义,当然是要找到一个参数,使得L最大,为什么要使得它最大呢,因 ...

  6. Android简易实战教程--第一话《最简单的计算器》

    转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/51707931 从今天开始,本专栏持续更新Android简易实战类博客文章.和以往专 ...

  7. EBS开发技术之Patch安装

     Contents Document Control........................................................................ ...

  8. 错误:One or more post-processing actions failed. Consult the OPP service log for details

     今天在做采购出入库明细报表的时候,有的时候能正常打印,有的时候报 One or more post-processing actions failed. Consult the OPP serv ...

  9. Android性能优化之被忽视的优化点

    对于性能优化这个知识点来说,实在是太广了,博主本人也一直非常关注这方面的学习,而对于性能优化来说它包括了非常非常非常多方面,比如:I/O的优化.网络操作的优化.内存的优化.数据结构的优化.代码层次的优 ...

  10. CUDA command Profiler

    这里我不使用默认设置: timestamp gpustarttimestamp gpuendtimestamp gridsize threadblocksize dynsmemperblock sta ...