Q :org
설명을 자동으로 삽입하는 사용자 정의 링크 기능을 얻으려면 어떻게 해야합니까?
버퍼 org
에 파일에 대한 링크 를 저장하고 싶지만 dired
전체 경로를보고하는 대신 링크 설명을 파일 이름 sans 경로로 사용하는 것이 좋습니다.
file:~/the/full/path/myfile.ext ; default, but no thanks
myfile.ext ; what I want
Now : org-store-link
링크를 하드 코드 dired
하여 기본값을 제공합니다. 대신, 나는 사용자 정의 함수를 작성하고 (하드 코딩 된 함수에서 제거) 다음에 추가했습니다 org-store-link-functions
.
(defun dired-store-link ()
(when (derived-mode-p 'dired-mode)
(let ((file (dired-get-filename nil t)))
(setf file (if file
(abbreviate-file-name (expand-file-name file))
default-directory))
(org-store-link-props :type "dired"
:link file
:description (file-name-nondirectory file))
file)))
(add-to-list 'org-store-link-functions #'dired-store-link)
지금까지는 좋았으며 예상대로 작동하지만 한 가지 사항은 다음과 같습니다.
org-insert-link
내장 된 기본 동작으로 호출 하면 설명을 요구하지 않고 링크를 삽입하기 만하면됩니다.org-insert-link
내 사용자 정의 함수로 호출 하면 설명을 입력하라는 메시지가 표시됩니다 (:description
속성에 저장된 파일 이름으로 올바르게 채 웁니다 ).
매번 설명을 입력하라는 메시지가 표시되지 않고 해당 사용자 정의 함수 세트 org-insert-link
의 값을 사용 하고 싶습니다 :description
.
메시지가 표시되지 않고 자동으로 org-insert-link
사용 하도록 어떻게 확신 할 :description
수 있습니까?
link-location
또는default-description
함수에서org-insert-link
도움이 되나요? LINK-LOCATION 매개 변수가 0이 아닌 경우이 값은 대화식으로 읽지 않고 링크 위치로 사용됩니다. DEFAULT-DESCRIPTION 매개 변수가 0이 아닌 경우이 값이 기본 설명으로 사용됩니다.