Vim 带有圆括号和中括号的缩进级别

2024-01-27

当我使用重新缩进文件时gg=G我注意到右括号或括号的缩进与左括号的行不匹配。例如(前导选项卡显示为 >...)

if settings.DEBUG:
>...urlpatterns += patterns('',
>...>...url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
>...>...>...'document_root': settings.MEDIA_ROOT,
>...>...}),
>...)

我想修复包含此内容的文件中的缩进。对于蟒蛇我有softtabstop设置为 4,shiftwidth设置为 4 并且expandtab放。当我这样做的时候gg=G结果如下:

if settings.DEBUG:
    urlpatterns += patterns('',
            url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                'document_root': settings.MEDIA_ROOT,
                }),
            )

我这里有两个问题。第一个是右括号与左括号的空白级别不匹配,它们缩进到与括号内的代码相同的级别。这可以从以下两个方面看到(在第二行及其匹配中)在最后一行以及{第三行及其匹配}在第五行。我希望右括号与左括号在同一水平上匹配。

我的第二个问题是左括号后的缩进是新块甚至左括号后的缩进的两倍{。我认为这可能是 Python 文件类型缩进的一部分,但我想知道如何阻止它,以便所有缩进都是 4 宽。


Use this http://www.vim.org/scripts/script.php?script_id=974vim 中的 indent 脚本可以缩进你的 python 文件。它执行推荐的操作PEP-0008 http://www.python.org/dev/peps/pep-0008/。您发布的代码(用脚本缩进)给了我这个:

if settings.DEBUG:
  urlpatterns += patterns('',
                          url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                            'document_root': settings.MEDIA_ROOT,
                          }),
                         )

针对第二个问题的建议是:

连续行应该使用 Python 的隐式行连接在圆括号、方括号和大括号内垂直对齐包裹的元素,或者使用悬挂缩进。使用悬挂缩进时,应注意以下事项:第一行不应该有参数,并且应该使用进一步的缩进来清楚地将其自身区分为连续行。

所以缩进脚本正在做正确的事情。

此外,如果您在第一行没有任何参数,则建议使用您想要的缩进类型。因此,重新排列代码并使用缩进脚本可以得到:

if settings.DEBUG:
  urlpatterns += patterns(
    '',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
      'document_root': settings.MEDIA_ROOT,
    }),               
  )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vim 带有圆括号和中括号的缩进级别 的相关文章

  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • 如何检查 ArrayList 是否包含另一个 ArrayList 的任何元素? [复制]

    这个问题在这里已经有答案了 有没有办法确定 ArrayList 是否包含不同 ArrayList 的任何元素 像这样 list1 contains any element of list2 正在循环遍历所有元素list2并一一检查元素是唯一
  • 两人网格穿越游戏

    Given a M N两名玩家的网格和位置p1 and p2在网格上 有 n 个球放置在网格上的不同位置 设这些球的位置为B 1 B 2 B 3 B n 我们需要计算曼哈顿最短距离需要挑选所有的球 应按升序挑选球 即如果B i 之前被挑选过
  • 如何以编程方式授予用户权限?

    我知道我可以授予权限 host 4502 useradmin 当我双击用户登录并转到Permissions tab 我想在部署内容包时授予权限 是否可以 当您向用户授予特定节点 路径的权限时 它基本上将权限存储在rep policy节点下面
  • 检查Python中的字符串是否只包含字母

    我有这种形式的字符串 字符串空间 字符串空间 字符串 test test test1 test2 test test1 我想要的是所有三个字符串都只有字母 如果没有则返回 false 我尝试了 isalpha 但没有给出正确的结果 哎呀 这
  • 如何增加sqlplus列输出长度?

    我有一些查询要从架构中找出某些对象的 ddl 我得到的结果列在查询中间被截断 如何增加列的宽度 我尝试过 SET SERVEROUTPUT ON SIZE 1000000 SET LINESIZE 50000 set pagesize 50
  • Google Play 商店:如何上传更多 APK 以支持不同的 CPU 架构

    我希望每个 APK 支持不同的 CPU 架构 例如 ARM x86 和 MIPS 如何上传更多APK 我已经切换到高级模式 但是将新 APK 上传到 Alpha按钮取代了以前的APK 附件是我的控制台在 APK 部分的外观 将感谢您的帮助
  • ts-node 找不到我的类型定义文件

    当我跑步时ts node node modules jasmine bin jasmine我收到这些错误 tsc globals ts 7 12 error TS2304 Cannot find name SugarcubeState 7
  • 单精度浮点无法表示的最小整数

    所以我知道单精度浮点不能表示的最小正整数是2 23 1 1 16 777 217 我们如何知道我们使用 2 23 1 1 我知道有一个隐含的 1 而 23 是尾数中表示的位数 但为什么会这样呢 我们怎么知道我们使用 2 23 1 1 IEE
  • 在运行时更改类属性中的值

    如果我有一堂这样的课 Attr Blah Data Blah public class Test SuperClass 有没有办法可以在运行时更改类实例的属性值 例如在伪代码中 SuperClass test new Test test A
  • 在不同数据库模式之间同步数据的最佳技术?

    我有一个现有的 SQL Server 2005 数据库 用于运行我们的会计 库存应用程序 我们正在考虑使用一个新的在线订购框架 它有自己的数据库 如果我们使用这个新框架 我们将需要几乎实时地将在线订购数据 库存 价格 订单 客户 传输到我们
  • 如何显示多个本地通知?

    我有一个消息应用程序 我正在使用VoIP notifications向用户发送确认 我每次都会发出本地通知PushKit delegate叫做 当前的情况是先前的通知被删除并被新的通知取代 有没有办法管理本地通知 以便用户可以在其设备中看到
  • 我可以使变量暂时不稳定吗?

    In PSoC http www cypress com psoc4 source CY ENG HEADER 可以在内存空间中声明变量 由于闪存读取速度比 RAM 读取速度慢 因此程序将受益于编译器优化 允许将值存储在寄存器中或以其他方式
  • Heroku、Shrine 和 Amazon S3:博客文章图像在一段时间后消失

    我有一个使用 Rails 5 1 开发的博客页面 一切工作正常 除了在我在制作中创建帖子并附加图像后 图像在一段时间 例如 30 分钟 后停止显示 我在互联网上寻找解决方案并看到this https shrinerb com rdoc cl
  • libvlc_new 在 vlc 2.1.3 中总是返回 null

    libvlc new 始终返回 null 我已将 libvlc dll 和 libvlccore dll 复制到解决方案目录的调试文件夹中 我们还尝试调用 libvlc new 0 null 并将环境变量 VLC PLUGIN PATH 设
  • 在 Chrome 扩展中禁用文本字段蓝色突出显示?

    我正在开发一个 Chrome 扩展程序 可以让您编辑一个小文本字段 并且我发现单击时文本字段周围的蓝色突出显示非常烦人 有没有办法 最好使用CSS 让这个高亮部分变得更细一些 我觉得有点太厚了 需要瘦身 谢谢 蓝色高亮截图 是的 只需将 n
  • Android:模拟器中未触发 ACTION_BATTERY_LOW。接收者在代码中注册,而不是在清单中注册

    我看过帖子里有提到registerReceiver必须调用 未在清单中定义 才能接收ACTION BATTERY LOW意图 public class MainActivity extends Activity Override publi
  • 在 Git 中生成特定提交的 diff 文件

    当 head 处于特定提交时 我想获取一个 diff 文件 以便可以将 head 降低到一个级别 然后在应用和不应用 diff 文件的情况下尝试测试功能 那么有没有办法生成特定提交的 diff 文件 尽管有一种方法可以在提交之前和之后更改头
  • 互斥体名称 - 最佳实践?

    相关这个问题 https stackoverflow com questions 459554 how do i tell if one instance of my program is running 命名互斥体的最佳实践是什么 我意识
  • 使用 window.crypto.subtle API 从浏览器解密 RSA 消息

    我正在尝试使用相应的私钥对使用公钥编码的 RSA 2048 位消息进行解码 环境是google chrome 我正在使用window crypto subtle APIs 我生成了密钥对并使用编码消息openssl tools genera
  • Vim 带有圆括号和中括号的缩进级别

    当我使用重新缩进文件时gg G我注意到右括号或括号的缩进与左括号的行不匹配 例如 前导选项卡显示为 gt if settings DEBUG gt urlpatterns patterns gt gt url r media P