最近在运行python的时候,发现tab键在在运行过程中无法使用,报错:
IndentationError: unindent does not match any outer indentation level
中学课本教导我们,区分人和动物的重要标志是是否学会使用工具。可是看了动物世界才发现,好多动物也会改造并使用工具。作为一个程序猿,假如你没有学会改造自己的工具,只是使用,那可不能叫做程序猿,估计只能叫做攻城狮(只会顺着梯子往上爬)了。
  由于使用的是vim,可以肯定,是vim配置导致的问题,有时候挺装逼的,把vim配置的很复杂,出了问题才知道,神器还要牛人用啊。
言归正传,查了资料,加上自己的验证,确认问题解决了,顺便写一下总结,方便后人吧。
  其实,修改tab默认4个空格有两种设置方法:

方法一:
set ts=4
set sw=4
方法二:
set ts=4
set expandtab
set autoindent

推荐使用第二种,按tab键时产生的是4个空格,这种方式具有最好的兼容性。

正确vimrc配置:

set shiftwidth=4
set softtabstop=4
set tabstop=4
set expandtab
set autoindent

解释:
set autoindent Tab键的宽度
当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。
set softtabstop=4 set shiftwidth=4 Tab键的宽度

vim 下修改tab键为四个空格的更多相关文章

  1. Eclipse设置Tab键缩进4个空格的步骤,也就是按一下Tab键输出四个空格

    Eclipse设置Tab键缩进4个空格的步骤,也就是按1下Tab键输出4个空格,步奏如下 1.点击 window->preference-,选择 General->Editors-> ...

  2. Linux下修改tab建为4个空格

    1.编辑 vim /etc/vim/vimrc 2.修改 set ts=4 set expandtab set autoindent 其实只要set ts=4 就ok了.

  3. 设置Tab键为四个空格

    https://my.oschina.net/xunxun10/blog/110074

  4. Eclipse 设置Tab键为4个空格

    参考:java编程规范之eclipse设置tab键为四个空格 Eclipse版本 1.点击菜单Window > Preference 2.在Preferences窗口中,展开General &g ...

  5. Ubuntu 下无法Tab键自动补全功能解决办法

    在Ubuntu下 使用Tab键报错:cannot create temp file for here-document: no space left on device 解决: rm -rf /var ...

  6. sublime设置tab键为4个空格

    在使用sublime的时候,有时候新建的文件,默认的缩进是2个,那么如何将sublime设置tab键为4个空格呢? 具体方法: 配置: , "translate_tabs_to_spaces ...

  7. 转:设置Eclipse中的tab键为4个空格的完整方法

    from: https://my.oschina.net/xunxun10/blog/110074   设置Eclipse中的tab键为4个空格的完整方法 收藏 XunXun10 发表于 4年前 阅读 ...

  8. 把Notepad++的tab设置为四个空格

    在7.1版本以及以后 设置->首选项->Language 勾选Repalce by space 在7.1版本以前 设置->首选项->制表符设置 右侧,转为空格,勾选上 参考: ...

  9. vim下设置tab

    前言:大多数情况下tab键的宽度设置为4个空格,这个可以根据自己 的代码风格进行替换,然而当你提交不同的语言的代码的时候python 和c的时候就有区别了.c的话一般tab键做缩进,而python提交 ...

随机推荐

  1. 用js传递当前页面的url,丢失了&后面的参数 解决办法

    问题:因为登陆是用ajax传值的,在哪个页面点击登陆的,登陆成功跳到再跳回那个页面,之前直接传递的是 /index_do.php?gourl=" +location.href这样传递的,但是 ...

  2. rocksdb学习笔记

    rocksdb是在leveldb的基础上优化而得,解决了leveldb的一些问题. 主要的优化点 1.增加了column family,这样有利于多个不相关的数据集存储在同一个db中,因为不同colu ...

  3. MSSQL一个关于Count函数的小实例

    --创建测试表 if object_id(N'T_Test',N'U') is null CREATE TABLE [dbo].[T_Test] ( , ) PRIMARY key NOT NULL, ...

  4. 每天学点HTML01

    HTML背景 HTML 又叫超文本标记语言 ,诞生于20世纪90年代初 <html> <head><title>demo1</title> </h ...

  5. 清除Windows系统图标缓存

    如果改变程序图标重新编译之后看到的图标并未改变,这可能不windows缓存了之前的图标导致的,需要清除Window的图标缓存来显示正确的图标. 下面是清除Windows系统图标缓存的批处理代码: re ...

  6. js中触发表单提交

    html代码: <form action="/test/action" method="get" id="myForm"> &l ...

  7. Spring Cloud Alibaba 实战(十一) - Spring Cloud认证授权

    欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign ...

  8. SpringCloud微服务(01):Eureka组件,管理服务注册与发现

    本文源码:GitHub·点这里 || GitEE·点这里 一.Eureka基本架构 1.Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,SpringCl ...

  9. C#以对象为成员的例子

    using System; using System.Collections.Generic; using System.Text; namespace test { class Program { ...

  10. 清新简约风格毕业论文答辩PPT模板推荐

    不管是学生还是老师,应该经常会需要学生答辩的PPT模板,今天给大家推荐织梦58的学生答辩ppt模板. 模版来源:http://ppt.dede58.com/gongzuohuibao/26494.ht ...