Some Random Emacs Shortcuts
Prologue
I have a few keybindings here and there all over my Emacs config. This file is where I started to simply put things by default. This will get file:~/.emacs.d/personal/shortcuts.el
Kdb macros
make terraform variable
This was made while dealing with Terraform and generating a variable from a resource name. With this, be on a line where a resource is defined and run the macro… you will then have the variable in the kill-ring
(fset 'make-terraform-variable (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([1 67108896 5 134217847 16 25 1 4 4 4 4 4 4 4 4 4 5 127 127 1 67108896 5 134217765 34 13 13 33 67108896 1 134217765 32 13 46 13 33 1 36 67108896 5 123 1 11] 0 "%d")) arg)))
get issue number from feature branch
(fset 'feature-number (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([19 102 101 97 116 117 114 101 47 return 67108896 right right 134217847 134217788 73 115 115 117 101 32 35 25 32 45 45 32] 0 "%d")) arg)))
Custom prefix
I adopted C-c C-'
as my own custom prefix, which I admit is a little awkward, but it’s out of the way. Maybe I will change it sometime.
The helm
items are the newest and I haven’t quite incorporated it into my workflow yet. However, you can do some magic with helm-ag
.
Also added org-recipes to handle snippets in my org-files
(bind-keys :prefix-map my-map :prefix-docstring "My own keyboard map" :prefix "C-c C-'" ;; 2013-03-31: http://stackoverflow.com/questions/3124844/what-are-your-favorite-global-key-bindings-in-emacs ("-" . text-scale-decrease) ("+" . text-scale-increase) ("=" . text-scale-increase);; because "+" needs "S-=" and I might forget shift ("s" . helm-ag) ("r" . helm-org-rifle) ("o" . org-tags-view) ("c" . quick-calc) ("i" . org-recipes) ("t" . make-terraform-variable) ("f" . feature-number) ("b" . helm-bookmarks) ("j" . helm-all-mark-rings) ("l" . org-wiki-helm) )
Parens
This Smartparens config isn’t absolutely necessary for me, because in most of the programming modes I’m in, typing in a (
automatically puts in a )
. But sometimes that just more annoying than it’s worth. Anyway, this config allows me to highlight any string and put any sort of braces around them.
(require 'smartparens-config) (require 'smartparens-org) (define-key smartparens-mode-map (kbd "M-(") 'sp-wrap-round) (define-key smartparens-mode-map (kbd "M-[") 'sp-wrap-square) (define-key smartparens-mode-map (kbd "M-{") 'sp-wrap-curly)
Helm Stuff
The more I use Helm, the more I like it. Most of these are substituting the normal Emacs version to the Helm equivalent.,
(global-set-key (kbd "C-x C-f") #'helm-find-files) ; I do this all the time anyway (global-set-key (kbd "s-\\") 'helm-projectile-find-file) ; use helm to find functions (global-set-key (kbd "M-x") 'helm-M-x) (global-set-key (kbd "C-c h") 'helm-command-prefix) (global-set-key (kbd "C-x b") 'helm-buffers-list) (global-set-key (kbd "M-y") 'helm-show-kill-ring) (global-set-key (kbd "C-c h o") 'helm-occur)
Misc
These are just some shortcuts that just live here.
(global-set-key (kbd "C-k") 'crux-smart-kill-line) ; I would like to use avy more (global-set-key (kbd "M-t") 'avy-goto-word-1) (global-set-key (kbd "C-c b") 'eval-buffer)