3.6 KiB
3.6 KiB
Buffer Config
Common buffer shortcuts
Scratch buffer
;; Scratch buffer shortcut
(keymap-global-set "C-c w x" #'scratch-buffer)
emacs init file
;; Config file shortcut
(defun my/open-init-file ()
"Open emacs init file."
(interactive)
(find-file (locate-user-emacs-file "init.el")))
(keymap-global-set "C-c w e" #'my/open-init-file)
NixOS config flake
;; NixOS flake shortcut
(defun my/open-nixos-flake ()
"Open NixOS system config flake."
(interactive)
(let ((flake "/etc/nixos/flake.nix"))
(if (file-exists-p flake)
(find-file flake)
(warn (concat flake " not found")))))
(keymap-global-set "C-c w n" #'my/open-nixos-flake)
Templates file
;; Tempel template file shortcut
(defun my/open-template-file ()
"Open `tempel' template file."
(interactive)
(require 'tempel)
(find-file tempel-path))
(keymap-global-set "C-c w t" #'my/open-template-file)
Org directory
;; Org directory shortcut
(defun my/open-org-directory ()
"Open base org-mode directory in dired."
(interactive)
(require 'org)
(find-file org-directory))
(keymap-global-set "C-c w o" #'my/open-org-directory)
Default bibliography file
(defun my/open-global-bibliography ()
"Open `org-cite-global-bibliography'."
(interactive)
(require 'org)
(find-file (car org-cite-global-bibliography)))
(keymap-global-set "C-c w b" #'my/open-global-bibliography)
RSS feeds file
;; Elfeed feeds file shortcut
(defun my/open-feeds-file ()
"Open org file containing elfeed sources."
(interactive)
(require 'org)
(require 'elfeed)
(require 'elfeed-org)
(find-file (expand-file-name "feeds.org" org-directory)))
(keymap-global-set "C-c w f" #'my/open-feeds-file)
Documents and Downloads
(defun my/open-documents-directory ()
"Open Documents directory."
(interactive)
(find-file "~/Documents/"))
(defun my/open-downloads-directory ()
"Open Downloads directory."
(interactive)
(find-file "~/Downloads/"))
(keymap-global-set "C-c w d" #'my/open-documents-directory)
(keymap-global-set "C-c w C-d" #'my/open-downloads-directory)
Projects directory
(defun my/open-projects-directory ()
"Open Projects directory.
Try `magit-clone-default-directory' if available, fall back to
~/Projects otherwise."
(interactive)
(require 'magit)
(find-file (if magit-clone-default-directory
magit-clone-default-directory
"~/Projects/")))
(keymap-global-set "C-c w p" #'my/open-projects-directory)
Common project shortcuts
NixOS
(defun my/open-nixos-project ()
"Open NixOS config project."
(interactive)
(require 'project)
(let ((nixos "/etc/nixos/"))
(if (file-directory-p nixos)
(project-switch-project nixos)
(warn (concat nixos " not found")))))
(keymap-global-set "C-c p n" #'my/open-nixos-project)
emacs
(defun my/open-emacs-project ()
"Open Emacs config project."
(interactive)
(require 'project)
(project-switch-project user-emacs-directory))
(keymap-global-set "C-c p e" #'my/open-emacs-project)