如何吐出双引号

How to barf double quotes

我把这个作为初始状态:

"first" second

将光标放在双引号内的任意位置并按 C-→(在 Emacs 中)得到:

"first second"

是否有 "one-click" 方法来 "barf" 双引号(即从第二状态返回到第一状态)?我希望双引号的工作类似于括号 barfing,但按 C-←(同时光标仍位于第一个单词上)似乎不起作用(就像在括号的情况下一样)。

一个可能相关的问题:有没有一种方法可以删除双引号,而无需事先将其 "span" 的长度设为零。

Emacs 25.2 (9.0)

主要模式:Lisp

启用次要模式: 自动组合自动压缩自动加密 列号-Eldoc 文件-名称-Shadow Font-Lock Global-Eldoc Global-Font-Lock Global-Hl-Line Global-Linum Global-Rainbow-Delimiters Ido-Ubiquitous Line-Number Linum 鼠标滚轮 Paredit Projectile Projectile-Global Rainbow-Delimiters Recentf 保存位置Shell-Dirtrack Show-Paren 工具提示 Transient-Mark

没有一键命令可以做到这一点。但是你可以接近:如果点在 |在 "first| second" 中,您可以执行 M-S C-M-d M-s:

  1. M-S (paredit-split-sexp) 将其拆分为 "first"| " second",
  2. C-M-d(paredit-forward-down)下降到下面的字符串 "first" "| second",然后
  3. M-s (paredit-splice-sexp) 拼接给出"first" | second.
  4. 字符串的内容

要清理 space,您可以执行 M-SPC(仅一个 space)。

"first| second" M-S (paredit-split-sexp) "first"| " second" C-M-d (paredit-forward-down) "first" "| second"` M-s (paredit-splice-sexp) "first" | second M-SPC (just-one-space) "first" |second