Frage

Surround.vim ist ein geschicktes vim-Erweiterung, die Ihnen erlaubt, Surround-Textblocks mit, Klammern, Klammern, und so ziemlich jeder beliebigen „Surround“ Charakter. Es unterstützt Absatz und Wort Surround, aber ich benutze es häufig im visuellen Modus. Ich spiele mit Emacs um und frage mich, ob es etwas ähnlich; etwas, das ich markierte eine Region und dann den markierten Bereich (oder Rechteck) in geschweiften Klammern, Klammern oder Tags lassen.

War es hilfreich?

Lösung

Vielleicht Wrap-Region ist das, was Sie brauchen.

smartparens ist eine weitere ausgezeichnete Möglichkeit bei Bedarf etwas mit Trennzeichen wickeln, Tags, etc.

Andere Tipps

Ich benutze übel Surround . Es emuliert vim Verhalten, aber leider ist vielleicht nicht, was die meisten Emacs-Nutzer wollen, da es die böse vim Modus erfordert . Jedoch kann es oder nicht das Richtige für Sie sein, da Sie surround.vim an erster Stelle verwiesen wird.

Übel Surround scheint die meisten Funktionen in Surround.vim zu unterstützen, einschließlich der Umgebung zu verändern.

Ich glaube nicht, dass irgendetwas in für Tags gebaut ist, aber für Pars können Sie tun, M - ( Für Klammern / Klammern / Zitate könnten Sie tun:.

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

Beachten Sie, dass, wenn Sie nicht ein Bereich markiert haben, wird es nur Einsatz das Paar von whatevers und setzen Sie den Cursor zwischen ihnen. Auch praktisch Matching Was immer zum Löschen ist

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

Wenn Sie Tag-Paare eingefügt werden soll, ist es einige einfache elisp:

(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 ">"))))

Sie wissen nicht, von irgendeiner Weise zu tun, dass in Emacs, auch nicht mit einem Modul.

Meine Elisp ist ein wenig rostig, kauft hier ist eine einfache Funktion, die den aktuellen Bereichs (markierter Text) oder ein Wort mit Anführungszeichen ( ") wird einschließen:

(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 "\"")))

Ja, es ist ein Klon von surround.vim, wie von vor 1 Woche: http: //github.com/timcharper/vimpulse-surround.el

Es erfordert vimpulse, die vim erfordert. Es implementiert viel von surround.vim Funktionalität.

Übel Surround ist das, was Sie suchen.

Dank.

Sie wollen also eine Region oder ähnliches auszuwählen und dann ein Feld um es wie eine verschiedene Modi für die Kommentare zu machen? Ich glaube, emacs-wiki ( http://www.emacswiki.org/ ) eine ascii-line Kunst hat (und ein figlet Werkzeug als auch), die das tun. Die Suche nach Box, ganz, Linie Kunst ...

############################
#                           #
# I AM REGION, WE ARE  MANY #
#                           #
############################
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top