A simple Emacs package for managing named bookmarks and images with Org mode integration.
This package is not yet published on MELPA or other package repositories. You can install it using package managers like elpaca, straight, or use-package with :ensure nil.
(use-package quickmarks
:elpaca (quickmarks :host github :repo "iocanel/quickmarks.el")
:commands (quickmarks-bookmark quickmarks-image quickmarks-list))(use-package quickmarks
:straight (quickmarks :type git :host github :repo "iocanel/quickmarks.el")
:commands (quickmarks-bookmark quickmarks-image quickmarks-list))- Clone the repository:
git clone https://github.com/iocanel/quickmarks.el.git - Add to your Emacs configuration:
(add-to-list 'load-path "/path/to/quickmarks.el") (require 'quickmarks)
Use quickmarks to create and manage named bookmarks for frequently accessed locations:
;; Create a named bookmark
(quickmarks-bookmark "config" "~/.emacs.d/init.el")
;; Open a bookmarked location
(quickmarks-open "config")Store and access images like logos, memes, or diagrams:
;; Add a named image
(quickmarks-image "logo" "/path/to/company-logo.png")
;; Insert image reference in org mode
(quickmarks-insert-image "logo")Quickmarks integrates seamlessly with Org mode for easy insertion of bookmarks and images:
- Use
quickmarks-insert-linkto insert bookmark links - Use
quickmarks-insert-imageto insert image references - Access through org-mode commands for quick insertion
The package provides several customization options:
quickmarks-bookmark-file(default:"~/.emacs.d/quickmarks-bookmarks"): File to store bookmark definitions.quickmarks-image-file(default:"~/.emacs.d/quickmarks-images"): File to store image definitions.quickmarks-auto-save(default:t): Whether to automatically save bookmarks and images when added.quickmarks-completion-system(default:'completing-read): Completion system to use (completing-read, ivy, helm, etc.).
(use-package quickmarks
:elpaca (quickmarks :host github :repo "iocanel/quickmarks.el")
:commands (quickmarks-bookmark quickmarks-image quickmarks-list)
:custom
(quickmarks-bookmark-file "~/my-bookmarks")
(quickmarks-image-file "~/my-images")
(quickmarks-auto-save t)
(quickmarks-completion-system 'ivy))The package doesn’t set any key bindings by default. You can add your own key bindings:
;; Option 1: Using use-package :bind
(use-package quickmarks
:elpaca (quickmarks :host github :repo "iocanel/quickmarks.el")
:commands (quickmarks-bookmark quickmarks-image quickmarks-list)
:bind (("C-c q b" . quickmarks-bookmark)
("C-c q i" . quickmarks-image)
("C-c q l" . quickmarks-list)
("C-c q o" . quickmarks-open)));; Option 2: Using define-key
(global-set-key (kbd "C-c q b") 'quickmarks-bookmark)
(global-set-key (kbd "C-c q i") 'quickmarks-image)
(global-set-key (kbd "C-c q l") 'quickmarks-list)
(global-set-key (kbd "C-c q o") 'quickmarks-open);; Option 3: For org-mode specific bindings
(with-eval-after-load 'org
(define-key org-mode-map (kbd "C-c q l") 'quickmarks-insert-link)
(define-key org-mode-map (kbd "C-c q i") 'quickmarks-insert-image))Suggested key bindings:
C-c q bfor creating bookmarksC-c q ifor adding imagesC-c q lfor listing/inserting linksC-c q ofor opening bookmarks
- Emacs 27.1 or newer
- Org mode for integration features