Emacs 中注释缩进错误

2023-12-20

在许多语言中,行注释以单个符号开头,例如 Python 和 R 中的 #。

我发现在 Emacs 中,当编写这样的行注释时,我必须重复注释符号两次才能做出正确的缩进。

请参见以下示例:

(setq x-select-enable-clipboard t)
                                        ;using a single comment symbol indents wrongly
;; repeating the comment symbol indents fine
(setq-default c-basic-offset 4)

与单一;在行的开头无法获得正确的缩进。如何获得正确的设置?谢谢!

EDIT:

我自己找到了解决方案。在ESS的文档中:

评论也由 ESS 专门处理,使用借用的想法 来自 Emacs-Lisp 缩进样式。默认情况下,评论开始 与‘###’对齐到行的开头。评论 以“##”开头的内容与当前缩进级别对齐 对于包含评论的块。最后,评论开头 ‘#’ 与右侧的一列对齐(默认为第 40 列, 但这个值是由变量 comment-column 控制的,)或者只是 在包含注释的行的表达式之后(如果扩展) 超出缩进列。您可以通过以下方式关闭默认行为 将行 (setq ess-fancy-comments nil) 添加到您的 .emacs 文件中。

所以我把它放在我的 .emacs 中:

(setq ess-fancy-comments nil) ; this is for ESS

我认为对于Python模式,它有一个类似的变量。


您的示例使用 Emacs Lisp,在这种语言中,标准约定是单个;向右缩进,而两个;;缩进就像代码在此时缩进一样。我强烈建议您遵守此约定,否则您的代码会因不同而脱颖而出。还有三个;;;向左缩进。四;;;;左缩进,用于主要部分。 (看https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html)

据我所知,对于 Ruby,注释总是缩进为代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs 中注释缩进错误 的相关文章

随机推荐

  • 将日期时间转换为日期

    如何将 Grails 中的日期时间字段转换为日期 而不捕获时间 我需要这样做是为了与系统日期进行比较 class Trip String name String city Date startDate Date endDate String
  • 指向 Objective-C 中指针的指针?

    我想在 Objective C 中声明一个指向指针的指针 我有一个实例变量 primaryConnection 当它发生变化时 应该动态更新它以指向局部变量 NSURLConnection primaryConnection void do
  • 如何修复 docker-machine 中过期的客户端证书

    Doing a docker machine lsa 得到了意想不到的Unable to query docker version Get https x x x x 2376 v1 15 version x509 certificate
  • HTML 5 <画布>

    这是我的代码 需要帮助使用 html 5 canvas 元素和 javascript 代码在山地景观之间绘制云的图像
  • Xcode 7.3.1 无法正确自动完成

    我有一个简单的 全新的 Objective C 项目 适用于 OSX El Capitan 10 11 4 上的 iOS 我使用的是 Cocoapods 因此我使用以下 3 个 pod 创建了 Podfile Firebase UALogg
  • 为什么 .every() 不是函数?

    我收集了所需表单元素的数组 我认为 并添加了 模糊 侦听器 var formInputs input filter required formInputs each function i this on blur function Each
  • 如何从导航抽屉启动活动?

    因此 我在这里搜索了有关导航抽屉的分配 当我从另一个人的问题的答案中找到教程时 我就这么做了 我成功地根据自己的喜好创建了导航抽屉并设计了其样式 但现在我一直在不知疲倦地寻找如何从导航抽屉启动活动 我已设法将一些代码放入 MainActiv
  • Angularjs:如何关闭评论块中的 ng-if ?

    div visible div 很容易 但是因为ngIf http docs angularjs org api ng directive ngIf甚至可以在评论中使用 结束语是什么评论区 尝试过 但运气不佳 Thanks ng if仅限于
  • Amazon S3 中的 Etag 定义已更改

    我使用 Amazon S3 进行备份已经有一段时间了 通常 上传文件后 我会检查 MD5 和匹配 以确保我已进行良好的备份 S3 具有用于给出此总和的 etag 标头 然而 当我最近上传一个大文件时 Etag 似乎不再是 md5 和 它有额
  • 使用替换密码进行加密

    我正在用字母表中的另一个字母替换字母表中的每个字母 例如 每个 a 都会替换为 Q 每个 b 都会替换为 W 我已经编写了代码来加密下面的句子 include
  • 截取 UIView 的屏幕截图,其中子视图是相机会话

    我正在构建一个应用程序 我需要对其子视图是相机会话 AVFoundation 会话 的视图进行屏幕截图 我试过这段代码 CGRect rect self containerView bounds UIGraphicsBeginImageCo
  • 将多个值作为单个参数传递 - Oracle SQL 查询

    我有一个查询 我传递了 2 个参数 COUNTRY REGION 参数和 COST CENTER 参数 我可以同时传递两个参数 COST CENTER 和 COUNTRY REGION 或者传递一个或另一个 这部分没问题 你可以在下面的第一
  • 使用 python 中的请求与不和谐交互

    我正在尝试使用 requests 和 python 自动点击不和谐按钮 但是当我发送请求时出现错误 不和谐按钮 https i stack imgur com tehay png 我试过这个 header authorization XXX
  • 使用 Java Web 服务的 Objective C SOAP 请求

    我有一个简单的 Java Web 服务 WebService serviceName Catalogo V1 public class Catalogo V1 This is a sample web service operation W
  • 除非我显式调用 AnnotationDriver::getAllClassNames,否则 Doctrine 不起作用

    我是第一次尝试使用 Doctrine ORM 并且我正在遵循此处找到配置 http www doctrine project org docs orm 2 0 en reference configuration html obtainin
  • 如何从 C# 将 SQL Server 数据库转换/导出到 MSAccess

    我有一个 SQL Server 数据库 我需要将所有数据导出到用户可以下载的 Access mdb 中 从 C 执行此操作的最简单方法是什么 我意识到我可以有一个空白 但有架构 mdb 当我想导出时我可以复制它 然后通过数据集将所有数据从
  • 是否“int size = 10;”产生一个常量表达式?

    以下代码在 gcc 4 8 和 Clang 3 2 下编译 int main int size 10 int arr size C 标准的8 3 4 1规定数组的大小必须是整型常量表达式 即size似乎不是 这是两个编译器中的错误 还是我遗
  • 在输入助手中调用 ember 把手助手

    我无法找出在 Ember 输入帮助程序中调用 Ember Handlebars registerBoundHelper 的正确方法 BoundHelper 进行日期格式化 Ember Handlebars registerBoundHelp
  • 使 JLabel 淡出

    我正在编写一个应用程序 该应用程序执行某些任务并在成功完成任务时通知用户 为了通知用户我正在使用 jlabel 我希望这个 jlabel 显示消息并在一段时间后消失 我使用 netbeans 作为我的 IDE 这是我的课程的架构 摘要 GU
  • Emacs 中注释缩进错误

    在许多语言中 行注释以单个符号开头 例如 Python 和 R 中的 我发现在 Emacs 中 当编写这样的行注释时 我必须重复注释符号两次才能做出正确的缩进 请参见以下示例 setq x select enable clipboard t