Surround.vim è un'estensione vim elegante che consente di circondare blocchi di testo con parentesi quadre, parentesi graffe e praticamente qualsiasi carattere "surround" arbitrario. Supporta i paragrafi e le parole surround, ma lo uso spesso in modalità visiva. Mi diverto con Emacs e mi chiedo se c'è qualcosa di simile; qualcosa che mi consentirà di evidenziare una regione e quindi di includere la regione marcata (o il rettangolo) racchiusa tra parentesi graffe, parentesi o etichette.Esiste un'estensione o una modalità in Emacs simile a surround.vim?
risposta
Forse wrap-region è quello che serve.
smartparens è un'altra opzione eccellente se necessità di avvolgere qualcosa con delimitatori, tag, ecc
Quindi, si desidera selezionare una regione o simili e quindi creare una casella attorno ad essa come se fossero le varie modalità per i commenti? Credo che emacs-wiki (http://www.emacswiki.org/) abbia qualche arte ascii-line (e anche uno strumento figlet) che lo farà. Ricerca di scatola, piuttosto, line art ...
############################
# #
# I AM REGION, WE ARE MANY #
# #
############################
no ............. – aehlke
Non so di alcun modo di fare che in Emacs, nemmeno con un modulo.
mio Elisp è un po 'arrugginito, acquistare qui è una semplice funzione che racchiudono l'area corrente (testo marcato) o una parola con le virgolette ("):
(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 "\"")))
Non credo che ci sia qualcosa di costruito in per i tag, ma per parens si può fare M- ( per le staffe/bretelle/citazioni si potrebbe fare:.
(global-set-key (kbd "M-[") 'insert-pair)
(global-set-key (kbd "M-{") 'insert-pair)
(global-set-key (kbd "M-\"") 'insert-pair)
si noti che se non si dispone di una regione evidenziata, sarà sufficiente inserire la coppia di whatevers e metti il cursore tra t orlare. Anche a portata di mano per l'eliminazione di whatevers Matching è
(global-set-key (kbd "M-)") 'delete-pair)
Se si desidera inserire coppie di tag, che sia una semplice 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 ">"))))
sì, c'è un clone di surround.vim, a partire dal 1 settimana fa : http://github.com/timcharper/vimpulse-surround.el
Richiede vimpulse, che richiede vim. Implementa molte delle funzionalità di surround.vim.
Io uso evil-surround. Emula il comportamento di Vim, ma sfortunatamente potrebbe non essere ciò che la maggior parte degli utenti di emacs desidera poiché richiede la modalità vim evil. Tuttavia, potrebbe essere o non essere giusto per te dal momento che hai fatto riferimento a surround.vim in primo luogo.
evil-surround sembra supportare la maggior parte delle funzionalità di Surround.vim, compresi i dintorni di modifica.
forse evil-surround è quello che stai cercando.
grazie.
- 1. Esiste una modalità BNF per Emacs?
- 2. Modalità Emacs per un linguaggio simile a C
- 3. Esiste una libreria simile a lxml o nokogiri per Java?
- 4. Esiste ancora una modalità emacs compatibile con rails3?
- 5. Esiste una classe in Java simile a android.os.Handler in Android?
- 6. Come rendere Eclipse più simile a Emacs
- 7. modalità palangari in Emacs
- 8. Esiste un'interfaccia simile a ISet?
- 9. Modalità C++ 11 o impostazioni per emacs?
- 10. Modalità Emacs per R?
- 11. Esiste una macro LARGEST_INTEGER o qualcosa di simile? (C)
- 12. Esiste una funzione simile a "andmap" in clojure?
- 13. Preferenze modalità emacs python
- 14. Esiste un'applica-comando-a-ogni-linea-in-regione in emacs?
- 15. Come si installa una modalità MATLAB in GNU Emacs?
- 16. Esiste una console interattiva simile a Python per Java?
- 17. Esiste un serializzatore CSV? (simile a XmlSerializer)
- 18. Emacs Unbind una modalità di KeyBinding
- 19. Esiste qualche funzione in Perl simile a GetType() in C#?
- 20. Esiste una funzione javascript integrata simile a os.path.join?
- 21. Esiste un obiettivo esperto simile a "dist"?
- 22. client o libreria bittorrent simile a wget?
- 23. Configurazione modificabile umana simile a JSON o simile a un programma YAML in Java
- 24. Defacvice di Emacs in modalità Python
- 25. Esiste una funzione simile a setTimeout() (JavaScript) per PHP?
- 26. date in modalità org in altre modalità Emacs
- 27. Modalità git consigliata per Emacs
- 28. ricetta per costruire una modalità wrapper emacs attorno a un programma a riga di comando?
- 29. Modalità flymake racket per emacs
- 30. Spostare una regione o una linea in emacs
Abbastanza correlati: http://stackoverflow.com/questions/1023770/automatically-closing-braces-in-emacs – Chow
Ho finito per utilizzare Vimpulse-surround: https://github.com/timcharper/vimpulse-surround. el – Chow
_edit_ [Evil-surround] (https://github.com/timcharper/evil-surround) è il nuovo vimpulses-surround. – Chow