Question

Surround.vim est un astucieux vim extension qui vous permet de surround blocs de texte avec, entre parenthèses, accolades, et à peu près tout caractère « surround » d'arbitraire. Il prend en charge le paragraphe et le mot surround, mais je l'utilise souvent en mode visuel. Je joue avec Emacs et je me demandais s'il y a quelque chose de semblable; quelque chose qui me permettra de mettre en lumière une région et ont la région marquée (ou rectangle) entouré par des accolades, des crochets ou des balises.

Était-ce utile?

La solution

Peut-être wrap-région est ce que vous avez besoin.

smartparens est une autre excellente option si besoin d'envelopper quelque chose avec délimiteurs, étiquettes, etc.

Autres conseils

J'utilise mal surround . Il émule le comportement vim, mais malheureusement, peut-être pas ce que la plupart des utilisateurs d'emacs veulent car il nécessite le le mode vim . Toutefois, il peut ou ne peut pas être bon pour vous puisque vous avez fait référence surround.vim en premier lieu.

mal-Surround semble soutenir la plupart des fonctionnalités de Surround.vim, y compris la modification environnement.

Je ne pense pas qu'il y ait quoi que ce soit pour les balises, mais pour parens vous pouvez faire M - ( Pour supports / accolades / devis que vous pourriez faire.

(global-set-key (kbd "M-[") 'insert-pair)
(global-set-key (kbd "M-{") 'insert-pair)
(global-set-key (kbd "M-\"") 'insert-pair)

Notez que si vous ne disposez pas d'une région en surbrillance, il suffit d'insérer la paire de whatevers et placez le curseur entre eux. très pratique aussi pour la suppression whatevers correspondant est

(global-set-key (kbd "M-)") 'delete-pair)

Si vous voulez insérer les paires de balises, il est une elisp simple:

(defun my-insert-tags (tag)
  (interactive "sTag: ")
  (if (region-active-p)
      (let ((beg (region-beginning)))
        (save-excursion
          (goto-char (region-end))
          (insert "</" tag ">")
          (goto-char beg)
          (insert "<" tag ">")))
    (insert "<" tag ">")
    (save-excursion
      (insert "</" tag ">"))))

Je ne sais pas d'aucune façon de le faire dans Emacs, même pas avec un module.

Mon Elisp est un peu rouillé, acheter ici est une fonction simple qui clôturera la région actuelle (texte marqué) ou d'un mot avec des guillemets ( "):

(defun insert-quotes ()
  "Inserts quotes (\") around the current region or work."
  (interactive)
  (let (start end bounds)
    (if (and transient-mark-mode mark-active)
        (setq start (region-beginning) 
              end (region-end))
      (progn
        (setq bounds (bounds-of-thing-at-point 'symbol))
        (setq start (car bounds) 
              end (cdr bounds))))
    (goto-char start)
    (insert "\"")
    (goto-char (+ end 1))
    (insert "\"")))

Oui, il y a un clone de surround.vim, comme il y a 1 semaine: http: //github.com/timcharper/vimpulse-surround.el

Il faut vimpulse, qui exige vim. Il met en œuvre une grande partie de la fonctionnalité de surround.vim.

mal surround est-ce que vous recherchez.

merci.

Vous voulez sélectionner une région ou similaire, puis faire une boîte autour d'elle comme un divers modes faire pour commentaires? Je crois que emacs-wiki ( http://www.emacswiki.org/ ) a un peu d'art ascii ligne (et un outil figlet ainsi) qui le fera. La recherche de la boîte, tout à fait, l'art de la ligne ...

############################
#                           #
# I AM REGION, WE ARE  MANY #
#                           #
############################
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top