如何barf双引号

时间:2017-07-16 17:40:24

标签: emacs paredit

我已将此作为初始状态:

"first" second

将光标放在双引号内的任何位置并按C-→(在Emacs中)会给我:

"first second"

是否有“一键”方式“barf”双引号(即从第二个状态回到第一个状态)?我希望双引号类似于括号barfing,但是按C-←(同时仍然将光标放在第一个单词上)似乎不起作用(就像在括号中一样)。

一个可能相关的问题:是否有办法在不事先使其“跨度”为零的情况下删除双引号。

Emacs 25.2(9.0)

主要模式:Lisp

启用次要模式: 自动合成自动压缩自动加密 列号Eldoc文件名 - 阴影字体锁Global-Eldoc Global-Font-Lock Global-Hl-Line Global-Linum Global-Rainbow-Delimiters Ido-Ubiquitous Line-Number Linum Mouse-Wheel Paredit Projectile Projectile-Global Rainbow-Delimiters Recentf Save-Place Shell-Dirtrack Show-Paren Tooltip Transient-Mark

1 个答案:

答案 0 :(得分:1)

没有一键式命令可以做到这一点。但你可以接近:如果要点在|在"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. 为了清理空间,你可以做M-SPC(只有一个空格)。

    "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(只有一个空间) "first" |second