대부분의 작업은 텍스트 편집기인 Emacs 에서 진행한다. 종종 이미지를 사용하는 경우가 있는데, 이 작업은 매우 번거롭다. 이미지를 클릭하고, 다른 이름으로 저장하고, 경로를 변경하고, 텍스트 에디터에서 해당 경로를 입력하는 등 여려 단계를 거처야하기 때문이다.
앞서 이야기한 과정을 생각해 보면, 이미지를 먼저 파일로 저장하는 것이 문제가 된다. 단계 뿐만 아니라 다운로드 폴더의 파일도 같이 늘어나기 때문이다. 클립보드를 사용하면 이 과정을 없앨 수 있다.
Windows 에서는 클립보드는 텍스트, 파일 등 다양한 개체를 저장하고, 꺼내어 사용할 수 있도록 한다. 텍스트나 파일을 ctrl+c, ctrl+v 하는 것이 클립보드를 사용하는 대표적인 예이다.
이미지 개체도 클립보드에서 사용할 수 있다. 웹 브라우저에서 이미지를 복사하는 방법은 이미지 복사 명령을 사용한다. 이제 필요한 곳에 붙여 넣기를 하면 된다. 이제 이미지를 쉽게 사용할 수 있다.
PowerShell 에서는 다음과 같이 클립보드의 내용을 파일로 저장하는 명령을 제공한다. 아래에서 FILENAME 은 사용자가 별도로 지정한다.
powershell -c "(Get-Clipboard -format image).save(FILENAME)"
앞서 이야기 했듯이 Emacs 에서 파일로 저장할 수 있도록 함수를 하나 만들었다. 함수를 실행하면, 경로를 입력받아 이미지를 저장한다. 그리고 편집기 내 커서가 위치한 곳에 해당 이미지의 경로를 추가한다.
(defun save-image-from-clipboard () "Windows 클립보드에 복사한 이미지를 파일로 저장한다." (interactive) (let ((filename (file-truename (read-file-name "Write image file from clipboard: ")))) (shell-command (concat "powershell -c \"(Get-Clipboard -format image).save('" filename "')\"")) (with-current-buffer (current-buffer) (insert "#+ATTR_ORG: :width 900\n") (insert (concat "[[./" (file-name-nondirectory filename) "]]\n")))))