Обо мне

Моя фотография
Дикий Полярный Сов

четверг, 11 февраля 2010 г.

Божественный Лисп, Emacs-style

Сегодня написал свою первую функцию на elisp, которая хоть что-то делает ;)

Суть вот в чем - команда clipboard-kill-ring-save в emacs помещает содержимое выделенного региона в kill-ring (буфер обмена) и в буфер обмена операционной системы (таким образом я "выношу" информацию из редактора). До сих пор о том, что команда отработала как надо, я узнавал по пропадающей подсветке региона (transient-mark), но сегодня столкнулся с проблемой - когда я выделяю весь буфер (\C-x h), его содержимое не подсвечивается. Таким образом, я не могу узнать, сохранилось ли содержимое в буфер обмена, или я промазал мимо клавиш ;)

Решение достаточно простое - добавить в .emacs строки:


(defun my-own-clipboard-kill-ring-save (beg end)
  (interactive "r")
  (clipboard-kill-ring-save beg end)
  (message "SAVED TO CLIPBOARD") )


и

(global-set-key "\C-xj" 'my-own-clipboard-kill-ring-save)

Таким образом, при нажатии комбинации клавиш \C-x j мы не только положим содержимое выделенного региона в буфер обмена, но и получим в минибуфере сообщение "SAVED TO CLIPBOARD".

Enjoy.

Комментариев нет:

Отправить комментарий