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 插入居中注释块 的相关文章

  • 如何用其他树替换子树?

    在 Scala 宏中 我想做这样的事情 我有一个Tree 可能很大 现在我想找到这棵树的一个具有某种具体形式的子树 例如Apply 现在我想创建一棵新树 它是原始树的副本 但找到的子树被其他树替换 例如 通过类似的方法 我可以用调用某些其他
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 如何处理 Ipython Notebook 中的引用?

    在 Ipython Notebook 中处理引用的最佳方法是什么 理想情况下 我想要一个 bibtex 文件 然后像在 Latex 中一样 在 Ipython markdown 单元格中拥有一个速记列表 并在笔记本末尾提供完整的参考文献 我
  • Emacs:调试Python的方法

    我把这个贴在程序员 stackexchange com https softwareengineering stackexchange com questions 29844 emacs methods for debugging pyth
  • 如何在组织模式议程树视图中显示条目的完整上下文

    在组织模式的每日 每周议程视图中 有没有办法显示条目的完整上下文 我对代码的解读是 它找到时间戳上方的第一个标题并显示它 然而 就我而言 该标题通常有 3 4 层深度 如果没有上面的项目符号 就没有意义 似乎也没有办法可以轻松改变这一点 过
  • 从 R Markdown 中的字数统计中排除部分

    我正在用 Rmarkdown 写一篇论文 通过 LaTeX 导出为 PDF 我需要计算正文中的字数 对于 LaTeX 文档 我使用texcount从命令行 使用我的 tex 文档中的以下标签指定要从字数统计中排除的部分 TC ignore
  • 在 Emacs ruby​​ 模式下使用制表符缩进而不是空格

    我一直在尝试配置 Emacs 以便在缩进 Ruby 代码时插入一个 制表符 而不是一系列 空格 到目前为止 我已经尝试设置 varruby indent tabs mode to t这样 根据文档 它将 如果非零 则在 ruby 模式下插入
  • 如何在 elisp 中将列表作为宏的参数?

    我想实现这样的目标 setq my global keybindings C x C d dired C x C b ibuffer C x b ivy switch buffer apply bind keys my global key
  • ^ 和 _ 宏之后出现的数字(是:LaTeX 限制?)

    我在 LaTeX 中遇到了一个恼人的问题 我有一个大约 1000 行的 tex 文件 我已经有了一些数字 但是当我尝试添加另一个数字时 它会吐出 Undefined control sequence
  • emacs:Orgmode,如何从一行行中创建一个列表

    有没有办法隐藏这样的行块 line1 line2 linen into 1 line1 2 line2 n linen 使用 Emacsorg mode http orgmode org 我知道的最短的方法是 突出显示这些行 包括它们的换行
  • 设置rgl设备的大小

    我的 rgl 设备的全屏 非全屏有问题 目前我使用R 3 00 我将 persp3d 图 库 rgl 绘制到我的设备中 它在一个非常小的窗口中打开 R代码 persp3d x y z theta 50 phi 25 expand 0 75
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • 如何运行 Abaqus 宏 (.py) 脚本

    我是Python新手 我使用 Abaqus 宏管理器生成了一个宏 它是一个 py 脚本 我意识到该脚本仅在从 Abaqus 管理器运行时才有效 并且不能自行运行 请有人知道如何修改这个脚本 以便我可以在不使用 Abaqus 的情况下运行它
  • Mathjax Latex 符号正方形和三角形大小

    我有一个使用 MathJax 来显示一些乳胶的应用程序 它显示大多数内容都很好 但是当我想用命令显示正方形时 square 我正在尝试这个乳胶代码作为测试 triangle Box square bigtriangleup blacksqu
  • iPython 笔记本上的内联数学模式

    在 iPython 笔记本中 我如何编写数学公式 例如r 2在一行中 乳胶词汇中的内联数学模式 IE 打印公式的时候可以不换行吗 如果像在 LaTeX 中一样 它应该是 r 2 但它不起作用 感谢您的帮助 在 Markdown 单元格中 您
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • 如何避免在matplotlib中调用latex(输出到pgf)

    我使用 matplotlib 及其 pgf 后端来生成包含在 LaTeX 投影仪文档中的绘图 当我使用未定义的乳胶命令时 我遇到了麻烦 但对于我的应用程序 我不需要 matplotlib 来使用 Latex 生成标签或注释 我只想要正确的
  • 苹果游戏中心 API

    我无法找到包含 Game Center Reference 的 GameKit api Apple Game Center 是 iOS 上的一个新社交网络平台 其描述如下 iOS4 中的新增功能 1 GameKit iOS 参考在这里 ht
  • 从一个文件重新归档到另一文件

    我正在尝试基于 emacs 实现 GTDhttp members optusnet com au charles57 GTD gtd workflow html http members optusnet com au charles57

随机推荐

  • 将 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 这可