【问题标题】:How to tie a string replace to a command in Light Table如何将字符串替换绑定到 Light Table 中的命令
【发布时间】:2015-08-05 02:59:46
【问题描述】:

我的工作希望我们在输入文档时使用左右双引号。我想用 LaTeX 风格的,因为我经常用 LaTeX 写论文,而且我已经自动打字了。

我是 clojure 的新手,但确实设法找到了这个:

(def mystring "``quoted string''")
(clojure.string/replace mystring #"``|''" {"``" "“" "''" "”"})

这将输出:

“quoted string”

所以我想将此功能绑定到使用键绑定的命令。我正要问如何绑定上面的命令。但后来我读到了关于标准 clojure 库如何与 LightTable 不能很好地集成的这篇文章:How to integrate libraries (clojars) into Lightable plugins

我一直在阅读有关正则表达式的信息。有没有办法在整个文件中应用正则表达式?

我的想法是我将输入文档,然后在某个时候点击 (ctrl-i) 或其他任何东西,让它自动将 LaTeX 字符替换为我工作所需的字符。

如果可以在我键入时自动替换它们,那将是惊人的。但我是新手,所以要循序渐进。

【问题讨论】:

  • 您使用的是什么版本的灯台?如果它晚于 0.5 或 0.7,我绝对可以帮助您解决这个问题。
  • 我目前使用的是 0.7.2。对此的替代方法是启用自动关闭并且对双左引号和双右引号起作用。但我仍然需要将特定键映射到双左引号。我对按住 alt 并输入四个数字不太满意。 :)
  • 现在,我已经确定了这个键绑定作为一种解决方法: [:editor "`" (:editor.open-pair """")] 这将反引号绑定到做一个双左和双右对。我尝试使用开放对和封闭对,但封闭对从未奏效。
  • 如果您还有其他问题,请告诉我您使用的是什么版本的 lighttable。否则你应该回答你自己的问题并接受它。

标签: regex replace clojure find lighttable


【解决方案1】:

我最终使用的解决方案是以下键绑定:

[:editor "ctrl-shift-q" (:editor.open-pair "“”")]

当我按下组合键时,在本例中为 control-shift-q,它会将左双引号和右双引号放入文档中,而我的光标位于中间。

我仍然希望将任何双反引号“``”替换为左双引号,并将任何双撇号“''”替换为右双引号,但这目前很好用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 2023-04-11
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多