Как выблевать двойные кавычки

У меня это как начальное состояние:

"first" second

Поместив курсор в любое место внутри двойных кавычек и нажав C- (в Emacs), я получаю:

"first second"

Есть ли способ «одним щелчком» «свернуть» двойные кавычки (т.е. вернуться из второго состояния в первое)? Я ожидал, что двойные кавычки будут работать аналогично выбрасыванию скобок, но нажатие C- (при наведении курсора на первое слово), похоже, не работает (как в случае со скобками).

Потенциально связанный вопрос: есть ли способ удалить двойные кавычки без предварительного создания нулевой длины их «промежутка».

Эмакс 25.2 (9.0)

Основной режим: Lisp

Включенные второстепенные режимы: Auto-Composition Auto-Compression Auto-Encryption Column-Number Eldoc File-Name-Shadow Font-Lock 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


person n1ghtm4n4g3r    schedule 16.07.2017    source источник
comment
Пожалуйста, отредактируйте свой вопрос, чтобы описать, какие основные и второстепенные режимы вы используете, чтобы читателям не приходилось угадывать, глядя на тег paredit. Описанное поведение не происходит с emacs -q в буфере fundamental-mode.   -  person lawlist    schedule 16.07.2017
comment
Я несколько смущен, это работает точно так, как ваш пример описывает его идеальную работу. например, начиная с "first second", рвота дает мне "first" second, а затем чавканье снова дает мне "first second".   -  person ŹV -    schedule 17.07.2017


Ответы (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.

Чтобы очистить пробелы, вы можете выполнить 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

person Thomas Wright    schedule 19.07.2017