2015-07-09 2 views
4

Я работаю с каталогами, полными изображений, которые являются фотографиями документов в архиве. Я пишу файлы org с примечаниями по их содержанию, и я хотел бы ускорить и упростить просмотр изображений (например, с image-dired) и скопировать ссылки в файл org-mode вместе с моими заметками.Копирование ссылок с изображения в d-mode

Моя рабочая установка выглядит следующим образом:

Image browser and org in emacs

Мои вопросы:

  • Как я могу автоматически скопировать ссылку для текущего отображаемого изображения в орг?
  • Есть ли какой-либо простой способ управления графическим изображением (просмотр назад и вперед, поворот) из окон org?
  • Есть ли какие-либо другие режимы или инструменты, на которые я должен смотреть?

ответ

3

Вот небольшой код, который упростит работу с изображениями. Просто скопируйте его в буфер *scratch* и запустите M-x eval-buffer.

(defun my-next-image() 
    (interactive) 
    (save-excursion 
    (with-current-buffer "*image-dired*" 
     (image-dired-forward-image) 
     (image-dired-display-thumbnail-original-image)))) 

(defun my-prev-image() 
    (interactive) 
    (save-excursion 
    (with-current-buffer "*image-dired*" 
     (image-dired-backward-image) 
     (image-dired-display-thumbnail-original-image)))) 

(defun my-insert-current-image-path() 
    (interactive) 
    (insert 
    (concat 
    "[[" 
    (save-excursion 
     (with-current-buffer "*image-dired*" 
     (image-dired-original-file-name))) 
    "]]"))) 


(define-key org-mode-map (kbd "<f9> n") 'my-next-image) 
(define-key org-mode-map (kbd "<f9> p") 'my-prev-image) 
(define-key org-mode-map (kbd "<f9> i") 'my-insert-current-image-path) 

Нажмите F9 n, чтобы перейти к следующему изображению в орг режиме, нажмите F9 i, чтобы вставить ссылку на текущее изображение. Назовите ключи по своему вкусу.

+1

Я знаю, что вы не должны сказать «спасибо» SE, но это был отличный ответ и работает очень хорошо. Шаблон '(save-excursion (with-current-buffer ...)) - это тот, который я могу использовать во многих других местах. –

+0

@meatwave Рад, что я мог бы помочь, и удачи для вашего PhD. – tarleb