emacs/config/buffers.org

3.4 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)

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)