Emacs 插入居中注释块

2024-03-09

我想为 emacs 创建一个宏,它将插入一个带有一些居中文本的乳胶注释块,例如:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%                Comment 1                    %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%           Comment 2 Commenttext 3           %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

这可能在emacs-lisp?


Emacs自带命令comment-box以此目的。它生成居中的注释框,尽管注释框的宽度根据内容而变化。例如,区域设置在以下行周围:

This is a comment

你打电话时M-x comment-box文本转换为:

;;;;;;;;;;;;;;;;;;;;;;;
;; This is a comment ;;
;;;;;;;;;;;;;;;;;;;;;;;

我使用修改后的版本,如果该区域不活动,则将注释框放置在当前行周围,然后退出注释。它还会暂时减少填充列,因此注释框不会比最长的行宽:

(defun ty-box-comment (beg end &optional arg) 
  (interactive "*r\np")
  (when (not (region-active-p))
    (setq beg (point-at-bol))
    (setq end (point-at-eol)))
  (let ((fill-column (- fill-column 6)))
    (fill-region beg end))
  (comment-box beg end arg)
  (ty-move-point-forward-out-of-comment))

(defun ty-point-is-in-comment-p ()
  "t if point is in comment or at the beginning of a commented line, otherwise nil"
  (or (nth 4 (syntax-ppss))
      (looking-at "^\\s *\\s<")))

(defun ty-move-point-forward-out-of-comment ()
  "Move point forward until it's no longer in a comment"
  (while (ty-point-is-in-comment-p)
    (forward-char)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs 插入居中注释块 的相关文章

  • 如何为 C# 模式配置 Emacs speedbar?

    我正在使用 EmacsC Mode http mfgames com linux csharp mode当我打开速度栏时 默认情况下不会显示任何文件 我可以在速度栏模式下选择 显示所有文件 但每个 cs 文件都会在名称旁边显示 如何正确配置
  • Sublime Text 2 LatexTools 未启动 SumatraPDF

    我正在尝试在 Sublime Text 2 0 2 build 2221 中运行 LaTexTools 插件 我正在运行 64 位 Windows 8 1 计算机 LaTexTools 已安装并正在运行 它会生成一个已编译的 PDF 如果我
  • 减少通过管道传输至 Emacs

    当查看 Less 的管道输出时 有时我希望能够在 Emacs 中查看它 以便获得语法突出显示并使用 emacs 命令进行搜索 标记 复制等 我看到 Less 有一个v可用于打开当前查看的文件的命令 EDITOR 不幸的是 这在查看管道输入时
  • 如何确定 JDialog 显示在哪个屏幕上

    我有一个非常大的应用程序 有多个对话框 我的任务是确保不完全可见的对话框 因为用户将其从可见屏幕区域拉出 移回屏幕中心 当我只处理一个屏幕时 这没问题 它工作得很好 但是 该应用程序的大多数用户的桌面上都有两个屏幕 当我尝试找出对话框显示在
  • 另一个宏中的 Q_PROPERTY 宏

    如何放置Q PROPERTY另一个宏里面 辅助宏 define SimpleAllinOne member type public void Set member type arg member m member arg member ty
  • 最好的 AutoHotKey 宏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Xcode 在调试版本中是否有自动设置的宏?

    所以我可以写这样的代码 ifdef whatever do stuff that will never show up in the production version endif 默认情况下没有什么用处 但您可以设置DEBUG用于调试构
  • 如何通过 El-Get 安装 MELPA 软件包?

    El Get 文档说El Get 支持package el https github com dimitri el get el get elpa and packageelMELPA 文档显示如何使用 MELPApackage el ht
  • 用于将 PCRE 正则表达式转换为 emacs 正则表达式的 Elisp 机制

    我承认对喜好有很大的偏见PCRE http www pcre org regexps 比 emacs 好得多 如果没有其他原因 当我输入 时 我几乎总是想要一个分组运算符 当然 w 和类似的比其他等价物方便得多 但当然 期望改变 emacs
  • C++ 编译时类型注册技巧

    我有以下情况 假设我有一堆类型 函子 我想在编译期间注册 编译它们 最好是像 boost mpl vector 这样的东西 你知道有什么技巧可以做得很好吗 我的愿望是拥有实现函子类型和注册文件的 hpp 文件 其中宏将类型引入编译中 例如
  • 使用 Tikz 定位与 \onslide\visible\only inside beamer

    I have the following image 我希望它的元素在我的投影仪演示文稿中按特定顺序出现 目前 我正在尝试使 a 1 a 2 出现在第二张幻灯片中 我正在使用这段代码 documentclass beamer usepack
  • Clojure 中的宏和函数

    我在这个 Clojure 教程中读到了以下行 http java ociweb com mark clojure article html Macros http java ociweb com mark clojure article h
  • LaTex 中与 knit 和 xtable 交叉引用的问题

    我目前正在与 R Studio 合作 使用 LaTex 中的 R knitr 生成 PDF 文档 在这些文档中 我想在文本中引用的表格中展示我的部分结果 我使用 R 中的 xtable 包生成这些表 它运行良好并为我提供了正确的表 到目前为
  • 仅用一个数字对多个方程进行编号

    如何仅使用一个数字在对齐环境中对多个方程进行编号 例如 begin align w T x i b geqslant 1 xi i text if y i 1 nonumber w T x i b leqslant 1 xi i text
  • 在 Emacs 中追逐标签后切换到原始缓冲区

    I use M 跳转到类 函数的定义 有时有多个类具有相同的标签 所以我需要使用C u M 跳转到多个文件 因此有多个缓冲区 现在我的问题是 如何快速回到原来的缓冲区 我知道C x b 但是您需要输入缓冲区名称 或者它只是默认为您提供您访问
  • 如何在 MathJax 中对公式进行装箱?

    如何在 MathJax 中围绕公式绘制方框 我见过 LaTeX 一般推荐使用 boxed 但 MathJax 不支持该操作 有没有替代方案可以解决这个问题 boxed 位于 AMSmath 扩展中 因此如果您将 TeX AMSmath js
  • 如何使用 LaTeX 绘制圆 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在Latex中画一个有6个等距点的圆 标记为1 6然后连接点1 点2 点3 有谁知道怎么画吗 谢谢 您可以利用the tikz lib
  • 使用 Doxygen 记录 C++ 中的宏函数

    如何使用 Doxygen 在 C 中记录宏函数 并在我的非 Evil 代码的文档中引用它 更具体地说 我在 Message H 中定义了一些名为 Message 的常规类 用户可以继承该类来定义自己的消息 在另一个文件 MessageHel
  • 如何从 LaTeX 执行 shell 脚本?

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • 使用 css 简单地将对象居中,无需修改

    我想使用 CSS 将对象居中 而不需要任何技巧 这可能吗 如何实现 我已经尝试过了 但是我的 p 标签消失了 centered position fixed top 50 left 50 有多种方法可以使元素居中 但这取决于您的元素是什么以

随机推荐

  • 将 CSS 模块 kebab-case 类名转换为 Next.js 中的驼峰命名法

    我正在使用 CSS 模块 scss 与 Next js 并有一个 kebab 命名约定 换句话说 是这样的 member btn background fff 我面临的问题是 为了使用它className我必须这样做styles membe
  • 是否可以捕获音频输出并对其应用效果?

    我希望能够使用 NET 和 DirectSound所有输出来自我的音频设备的声音并对它应用效果 我快速浏览了 MSDN 上的文档 似乎没有任何关于如何执行此类操作的解释 我在其他地方读到 您最好编写一个驱动程序放在真正的音频驱动程序前面 并
  • Ruby IMAP 登录错误异常

    使用我的 Ruby 脚本 imap Net IMAP new imap gmail com imap login email protected cdn cgi l email protection password 我得到以下异常 A c
  • 如何从 Java websocket 服务器访问客户端主机名、http 标头等?

    我已经遵循了许多教程和示例代码 但我还没有看到一种访问客户端的 HTTP 标头 主机名等的方法 就像我们在 Servlet 的请求对象中那样 我该怎么办 假设我将 onOpen 定义为 OnOpen public void onOpen S
  • 如果我添加 ,pageX pageY 无法在 IE8 中工作

    嘿伙计们 我有以下脚本 当我移动鼠标时它会给出光标位置 这个脚本在 chrome FF 甚至 IE 8 没有 doctype html 如果添加 DOCTYPE html到 html 页面 它给我对象不支持此属性错误 下面给出的行导致了问题
  • 如何对 XMLAGG 函数聚合的字段进行排序?

    我有下表 Part number seq nbr Super narrative 1 1 When replacing 1 2 part with following parts 1 3 note follwing are now avai
  • Angular-cli 构建文件夹结构

    默认的 angular cli 构建生成具有非常扁平结构的 dist 文件夹 资产文件夹和 js html 文件 有没有办法创建 fe 脚本文件夹并在构建过程中将所有js文件放入其中 CLI 尚不完全支持这一点 但它确实提供了一些有用的工具
  • 从谷歌地图获取家庭/办公室地址

    我有一个基于地图的 Android 应用程序 并提供使用 Gmail 帐户登录的功能 现在 设备上的谷歌地图已经保存了用户的家庭和办公室地址 是否可以在无需用户输入的情况下获取这些数据 您可以使用以下命令对地址进行地理编码谷歌地理编码API
  • 如何在nib中轻松设计UIScrollView的内容

    我有一个滚动视图 它必须显示大于可用显示区域的视图 我希望轻松设计用户界面 而无需每次必须进行一些更改时上下移动嵌入视图 问题是可见区域之外的所有内容在 IB 中都是不可见的 是否有任何开关或技巧可以使 IB 中的所有内容都可见 UPDAT
  • Angular2 http获取请求结果变成404

    尝试在 Angular 2 TypeScript 中运行简单的 http get 调用 给予https angular io docs ts latest tutorial toh pt6 html https angular io doc
  • Java 8 的默认垃圾收集器

    Java 8 的默认垃圾收集器是什么 当我检查 JMX Beans 时 它们显示它是新一代的并行收集器和老一代的旧串行收集器 默认垃圾收集器 Java 7 并行 GC Java 8 并行 GC Java 9 G1 GC Java 10 G1
  • 对嵌套列表内的列表进行排序

    我有一个嵌套列表 9 8 7 8 7 6 7 6 5 6 5 4 5 4 3 4 3 2 3 2 1 我需要对列表中的列表进行排序才能创建 7 8 9 6 7 8 5 6 7 4 5 6 3 4 5 2 3 4 1 2 3 我该怎么做呢 你
  • R 闪亮的 AngularJS 工作

    我正在创建一个仪表板 其中 R 和 D3 与库 闪亮 一起运行 这工作得非常好 现在我想将 D3 代码转换为模块化对象 这将节省我大量的编码并使其可供其他人使用 我的想法是做到这一点
  • 按自定义字段日期列出自定义帖子类型

    我正在使用 Wordpress 和 WP Types 插件 需要按自定义字段日期对 CPT 进行排序 这工作正常 args array post type gt parties paged gt paged meta key gt wpcf
  • 在 Windows 7 上使用 powershell 2.0 下载文件

    这是我下载文件的脚本 我替换了下载的网址 因为它是一个私有云站点 我到处搜索 他们都说这是在旧版本的 PS 中下载的正确方法 但我不断收到错误 Exception calling DownloadFile with 2 argument s
  • 有 jQuery 图像和视频幻灯片库吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道有一个 jQuery 库可以用来制作图像幻灯片 并在幻灯片查看区域中嵌入视频 从而带来额外的好处
  • 如何仅与syncdb同步自定义权限?

    是否可以让manage pysyncdb命令仅将自定义权限同步到auth permission桌子 我不希望为应用程序模型安装默认的三个权限 即foo add bar foo change bar foo delete bar 我在模型类中
  • 如何根据泛型类型执行泛型结构体方法的不同实现?

    我有一个通用结构 我在扩展中的结构中添加了一个方法 如下所示 struct CustomStruct
  • JavaScript 模板继承

    在Django框架中 网页模板可以继承其他模板 在子模板中 您定义代码块来覆盖父模板中类似名称的块 我猜还有其他后端模板系统也以这种方式工作 但 Django 是我熟悉的一个 现有的 javascript 模板系统是否支持 django 风
  • Emacs 插入居中注释块

    我想为 emacs 创建一个宏 它将插入一个带有一些居中文本的乳胶注释块 例如 Comment 1 Comment 2 Commenttext 3 这可