Существуют два способа копирования элементов со всеми подэлементами. Первый способ - это использовать описанные выше комбинации клавиш, чтобы удалить элемент со всеми вложенными элементами и тут же его вставить. Другой способ предусматривает копирование элемента в буфер обмена без удаления. Чтобы проделать это, нужно выполнить следующие шаги:
Чтобы ускорить процедуру копирования элемента в буфер обмена, можно оформить описанную выше процедуру в виде макроса в файле .emacs. Запуск этого макроса пускай будет осуществляться комбинацией клавиш C-c w. Текст макроса, копирующего текущий элемент в буфер обмена выглядит следующим образом:
(defun sgml-copy-element () (interactive) (sgml-backward-up-element) (let ((start (point))) (sgml-forward-element) (kill-ring-save start (point))))
; assign to ^Cw keystroke (define-key global-map "^Cw" sgml-copy-element) |