LINUX.ORG.RU

Способов много. У меня, например, включён electric-pair-mode (идёт в комплекте с Emacs'ом). Он автоматически ставит парную закрывающую скобку если вводишь открывающую. А если выделить регион и нажать открывающую скобку, то он заключает в скобки весь регион, т. е. делает как раз то, что тебе нужно.

anonymous
()

Т.е. выделил, вызвал функцию и она тебе скобками выделение обставила.

Вы не поверите, как называется эта функция: M-x insert-parentheses! А уж куда она из коробки назначена, то вовсе вовек не запомнить — на M-(.

:-)

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)

Я использую smartparens

там помимо скобок из коробки можно настроить и другие символы:

(use-package smartparens
  :diminish smartparens-mode
  :hook (prog-mode . smartparens-mode)
  :config
  (require 'smartparens-config)
  (setq sp-base-key-bindings 'sp)
  (sp-use-smartparens-bindings)
  (smartparens-global-mode)
  (show-smartparens-global-mode)

  ;; wrap selection with a symbols
  (sp-pair "*" "*" :actions '(wrap))
  (sp-pair "_" "_" :actions '(wrap))
  (sp-pair "=" "=" :actions '(wrap))
  (sp-pair "+" "+" :actions '(wrap))
  (sp-pair "/" "/" :actions '(wrap))
  (sp-pair "$" "$" :actions '(wrap))
  (sp-pair "-" "-" :actions '(wrap))
  (sp-pair "«" "»" :actions '(wrap))
  (sp-pair "“" "”" :actions '(wrap))
  (sp-pair "´" "´" :actions '(wrap))
  (sp-pair "`" "`" :actions '(wrap))
  (sp-pair "'" "'" :actions '(wrap)))



т.е. выделяешь область и жмешь символ из sp-pair (например *)

habamax ★★★
()
Ответ на: комментарий от Zmicier

Велосипеды такие велосипеды. Или все-таки есть какие преимущества перед e-p-m?

В части вставки скобок — наверно нет.

Ну а для редактирования лиспоподобных языков — есть. Это аналог paredit'а. Т.е. нечто, позволяющее структурные манипуляции с S-expr.

Ну и бонусом идет возможность обрамления выделенного текста заданными символами.

habamax ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.