【问题标题】:Emacs lisp, skeleton-mode: Prevent trailing newlineEmacs lisp,骨架模式:防止尾随换行符
【发布时间】:2013-08-02 13:41:46
【问题描述】:

我正在使用此代码将\emph{..} 块插入乳胶:

(define-skeleton mylatex-emph-skeleton "\emph{_}"
  nil "\\emph{" _ "}")

然而,作为一个不受欢迎的副作用,它还在骨架的末尾插入了一个换行符。例如。如果我在

中选择emphasized
This is emphasized text.

然后按我的热键,我会得到 ​​p>

This is \emph{emphasized}
text.

而不是

This is \emph{emphasized} text.

我可以防止这种情况吗?注意换行只是插入,插入点后面有文字,所以不像删除}后的字符那么容易。

【问题讨论】:

  • 为什么不改用现代工具,比如yasnippet
  • 因为骨架的体积要小得多。

标签: emacs latex elisp template-engine


【解决方案1】:

skeleton-end-newline 设置为nil 以更改所有骨架的行为。

修改 skeleton-end-hook 以检查正在扩展的骨架并根据需要插入换行符,如果您想更改特定骨架的行为。

【讨论】:

  • 它以改变其他骨架的行为为代价解决了一个骨架的问题,该行为的目的是。那么,没有特定于单个骨架的解决方案吗? :-/
  • 你没有说你想改变单个骨架的行为(见编辑)。
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多