summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el6
-rw-r--r--settings/setup-multiple-cursors.el32
-rw-r--r--settings/setup-package.el8
-rw-r--r--utils/bindKeys.el25
4 files changed, 56 insertions, 15 deletions
diff --git a/init.el b/init.el
index 97c4ae4..48180c2 100644
--- a/init.el
+++ b/init.el
@@ -27,9 +27,8 @@
;; Suppress splash screen
(setq inhibit-startup-message t)
-(setq settings-dir
- (expand-file-name "settings" user-emacs-directory))
-(add-to-list 'load-path settings-dir)
+(add-to-list 'load-path (expand-file-name "settings" user-emacs-directory))
+(add-to-list 'load-path (expand-file-name "utils" user-emacs-directory))
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(load custom-file)
@@ -47,7 +46,6 @@
;; load the theme so we don't have a block of white for too long upon startup
(load-theme 'solarized-dark))
-
(require 'setup-package)
(defun init-install-packages()
diff --git a/settings/setup-multiple-cursors.el b/settings/setup-multiple-cursors.el
index a1df221..e0886ce 100644
--- a/settings/setup-multiple-cursors.el
+++ b/settings/setup-multiple-cursors.el
@@ -1,13 +1,23 @@
-(if (equal system-type 'darwin)
- (progn
- (global-set-key (kbd "C-c <up>") 'mc/edit-lines)
- (global-set-key (kbd "C-c <down>" ) 'mc/mark-all-like-this))
- (progn
- (global-set-key (kbd "C-c <C-up>") 'mc/edit-lines)
- (global-set-key (kbd "C-c <C-down>" ) 'mc/mark-all-like-this)))
-
-(global-set-key (kbd "C-c <C-right>") 'mc/mark-next-like-this)
-(global-set-key (kbd "C-c <C-left>") 'mc/mark-all-in-region-regexp)
-(global-set-key (kbd "M-s m") 'mc/mark-all-in-eval)
+;;; setup-multiple-cursors.el --- multiple cursors config -*- lexical-binding: t; -*-
+
+;;; Commentary:
+
+;; basic multiple cursors config
+
+;;; Code:
+(require 'bindKeys)
+
+
+(bindKeys '("m")
+ '(("m" . mc/mark-all-like-this)
+ ("l" . mc/edit-lines)
+ ("n" . mc/mark-next-like-this)
+ ("p" . mc/mark-previous-like-this)
+ ("r" . mc/mark-all-in-region-regexp)
+ ("o" . mc/mark-pop)
+ ("s" . mc/sort-regions)
+ ("i" . mc/insert-numbers)))
+
(provide 'setup-multiple-cursors)
+;;; setup-multiple-cursors.el ends here
diff --git a/settings/setup-package.el b/settings/setup-package.el
index f16cbbf..530e5f4 100644
--- a/settings/setup-package.el
+++ b/settings/setup-package.el
@@ -1,3 +1,10 @@
+;;; setup-package.el --- initialize package repos
+
+;;; Commentary:
+
+;;; basic m/elpa configuration
+
+;;;Code:
(require 'package)
;; Taken from magnars setup-package.el
;; https://github.com/magnars/.emacs.d/blob/master/settings/setup-package.el
@@ -30,3 +37,4 @@ re-downloaded in order to locate PACKAGE."
(require-package package min-version t)))))
(provide 'setup-package)
+;;; setup-package.el ends here
diff --git a/utils/bindKeys.el b/utils/bindKeys.el
new file mode 100644
index 0000000..c07c393
--- /dev/null
+++ b/utils/bindKeys.el
@@ -0,0 +1,25 @@
+;;; bindKeys.el --- bind key sequence to a key map -*- lexical-binding: t; -*-
+
+;; Author: Benj Bellon
+;; Keywords: lisp
+
+;;; Commentary:
+
+;; Bind key seqeuence to a keymap
+
+;;; Code:
+(require 'dash)
+
+(defun bindKeys (triggerSeq bindings)
+ "Bind keys to a trigger sequence.
+TRIGGERSEQ is a sequence of key(s) to trigger the binding.
+BINDINGS is an alist of bindings."
+ (let ((trigger (concat (-reduce (lambda (acc cur) (concat acc cur)) triggerSeq) " ")))
+ (mapcar (lambda (binding)
+ (global-set-key
+ (kbd (concat (concat "C-c " trigger) (car binding)))
+ (cdr binding)))
+ bindings)))
+
+(provide 'bindKeys)
+;;; bindKeys.el ends here