emacs/config/buffers.org

92 lines
2.8 KiB
Org Mode

#+title: Buffer Config
#+author: Evie Litherland-Smith
#+email: evie@xenia.me.uk
#+language: en
#+filetags: :emacs:config:
#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent
* Common buffer shortcuts
** Scratch buffer
#+begin_src emacs-lisp
;; Scratch buffer shortcut
(keymap-global-set "C-c w x" #'scratch-buffer)
#+end_src
** emacs init file
#+begin_src emacs-lisp
;; 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 c" #'my/open-init-file)
#+end_src
** NixOS config flake
#+begin_src emacs-lisp
;; 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)
#+end_src
** Templates file
#+begin_src emacs-lisp
;; Tempel template file shortcut
(with-eval-after-load 'tempel
(defun my/open-template-file ()
"Open `tempel' template file"
(interactive)
(find-file tempel-path))
(keymap-global-set "C-c w t" #'my/open-template-file))
#+end_src
** Org directory
#+begin_src emacs-lisp
;; Org directory shortcut
(with-eval-after-load 'org
(defun my/open-org-directory ()
"Open base org-mode directory in dired"
(interactive)
(find-file org-directory))
(keymap-global-set "C-c w o" #'my/open-org-directory))
#+end_src
** RSS feeds file
#+begin_src emacs-lisp
;; Elfeed feeds file shortcut
(with-eval-after-load 'org
(defun my/open-feeds-file ()
"Open org file containing elfeed sources"
(interactive)
(require 'elfeed)
(require 'elfeed-org)
(find-file (expand-file-name "feeds.org" elfeed-base-directory))))
(keymap-global-set "C-c w f" #'my/open-feeds-file)
#+end_src
** Documents and Downloads
#+begin_src emacs-lisp
(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)
#+end_src
** Projects directory
#+begin_src emacs-lisp
(with-eval-after-load 'magit
(defun my/open-projects-directory ()
"Open Projects directory.
Try `magit-clone-default-directory' if available, fall back to
~/Projects otherwise."
(interactive)
(find-file (if magit-clone-default-directory
magit-clone-default-directory
"~/Projects/")))
(keymap-global-set "C-c w p" #'my/open-projects-directory))
#+end_src