- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经为第 11.4 节(循环练习)中的练习编写了这个解决方案:
(defun texinfo-index-dfns-in-par ()
"Create an index entry at the beginning of the paragraph for every '@dfn'."
(interactive)
(save-excursion
(forward-paragraph)
(let ((bound (point)))
(backward-paragraph)
(let ((insert-here (point)))
(while (search-forward "@dfn{" bound t)
(let* ((start (point))
(end (1- (search-forward "}" bound)))
(dfn (buffer-substring start end)))
(save-excursion
(goto-char insert-here)
(newline)
(setq insert-here (point))
(insert "@cindex " dfn)
(while (< insert-here (line-beginning-position))
(join-line))
(end-of-line)
(setq insert-here (point))
(forward-paragraph)
(setq bound (point)))))))))
虽然它有效,但对我来说感觉很复杂。我想知道如何简化这段代码。我也对其他可能的改进感兴趣。
编辑:
Tyler 的回答很棒。通过缩小我可以写一个更短更清晰的版本:
(defun texinfo-index-dfns-in-par ()
"Create an index entry at the beginning of the paragraph for every '@dfn'."
(interactive)
(save-excursion
(mark-paragraph)
(save-restriction
(narrow-to-region (point) (mark))
(while (search-forward "@dfn{" nil t)
(let ((start (point))
(end (1- (search-forward "}"))))
(save-excursion
(goto-char (point-min))
(insert "\n@cindex " (buffer-substring start end))
(while (> (line-number-at-pos) 2) (join-line))
(narrow-to-region (line-end-position) (point-max))))))))
最佳答案
要注意的一件事是缩小范围。您可以使用缩小来绕过您正在做的很多来回弹跳。
(mark-paragraph)
(narrow-to-region)
将您的功能范围限制在当前段落并将指针移至开头。然后,您可以开始向前搜索,而不必担心越过当前段落。完成后,
(widen)
恢复缓冲区的其余部分以供查看。
关于emacs - 我如何改进 Emacs Lisp Intro 的 "create index entries"练习的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928085/
我正在使用 introJS,我们的模板设计团队只能使用 data-intro 属性,但他们也使用选项卡和其他 javascript 来隐藏或显示某些元素。 当 introJS 运行时,对于那些隐藏元素
有没有办法显示 intro.js 的步骤的所有工具提示?一次游览而不是每次都经过? 最佳答案 您可以改用 Chardin.js。 关于intro.js - 一次显示所有 intro.js 导览步骤,我
我开始使用有用的 Intro.js库在我的项目中,但几个月后我更新了它,发现许可证在 2016 年 8 月 3 日发生了变化。 该库绝对是开源和免费软件,但同时如果我想将其用于商业用途似乎我need
我无法仅使用类 'case_event_intro' 启动元素介绍,但是当我执行 introJs(".case_event_intro").start(); 时没有任何反应,即使有具有该类和介绍 at
我需要在 video.mp4 开头添加 INTRO.mp4 并添加 watermark.png (右下角) 如何使用 ffmpeg 做到这一点,因为我迷路了? log file 最佳答案 复制并粘贴此
有没有一种方法可以自定义 intro js 中的项目符号,以便用户可以确定要跳到哪一步?我被问到项目符号是否可以有某种标识,以便用户在尝试访问特定组件的帮助时可以确定。 http://jsfiddle
我想要一个可以打开和关闭 intro.js 中的“提示”功能的按钮。 我有一个可以显示然后隐藏的工作版本,但该显示只能工作一次。我怎样才能让它反复工作?此功能适用于标准数据介绍,但不适用于数据提示。
我在我的网站上使用 intro.js 进行导览。我使用 bottom 作为默认的工具提示位置,但是有什么方法可以在游览开始后更改工具提示的位置吗? 这是我的代码: tourPluginObject=i
我正在尝试在 ionic 4 中实现 intro.js 但突出显示的文本不可见 enter image description here 这里是我如何在 Angular 7 中实现代码。 intro(
我已将 Intro.js 用于在我的网站中实现指南。虽然它工作得很好,但我遇到的问题是在为指南选择的 div 的左上角显示的小整数。 (附图) 此数字与应有的位置略有不同。请告诉我如何将它重新定位在中
我尝试在 meteor 元素上安装 intro.js: 我正在使用 bootstrap 3 和 meteor。我想知道元素的定位是否需要以不同的方式显示。 var intro = introJ
我正在使用 intro.js为我的网站创建一个小介绍。我希望导览从第 1(主页)-2(另一页)开始,然后返回到 1(主页)。 我已经成功地从第 1-2 页开始,但不确定如何让它返回到第 1 页。我对
我无法使用具有 class='test' 的特定元素启动 intro.js。我正在使用 Intro.js v0.9.0 。 根据文档,我按照以下方式编写了代码。 我试过这样开始intro
想要合并 intro.js 游览插件,但在 checkout 插件时,文档没有突出显示任何通过在游览部分外单击来防止游览关闭的方法。我宁愿有一个“结束游览”按钮,用户可以点击它来结束游览,而不是他们错
我在 my.bonify.de 有一个登机之旅.它提供与 introjs 类似的体验. 我们以非常丑陋的方式实现了这一点,使用了带有非常大的框阴影的 cutout div。我们想对此进行改进并使用像
我正在使用非常有趣的 javascript 库 intro.js . 但是,在我的应用程序中,突出显示的区域几乎变成了白色。 我猜这是一些 CSS 冲突,但我能做些什么来确定这个问题的原因呢? 最佳答
我们希望为网络应用程序提供一个通用的多页面导览以及特定于页面的导览。多页面正在运行,页面特定的也触发,但调用两个游览数据对象。有没有办法在同一页面上进行多个游览? function initTours
我最接近的是使用powershell Get-ChildItem given multiple -Filters Get-ChildItem -Include "Intro", "*.mp4" -Re
我已经实现了intro.js到我的网站。但我只想在第一次访问时开始旅行。可能是通过使用cookie..网站是用html而不是php制作的.. 最佳答案 JavaScript cookie 是一种解决方
仅供引用 - 如果有使用此插件的经验,这个问题可能更容易理解。 我正在使用intro.js在我的网页上建立一个交互式游览,并且在很大程度上它运行良好。在 options ,列出的API中,有disab
我是一名优秀的程序员,十分优秀!