 (global-unset-key (kbd "<f10>"))                            ; was menu-bar-open
 (global-unset-key (kbd "<f11>"))                            ; was fullscreen mode
 (global-set-key (kbd "s-1") #'helm-projectile-find-other-file)
-(global-set-key (kbd "s-2") #'me:select-1st-other-buffer)
-(global-set-key (kbd "s-3") #'me:select-2nd-other-buffer)
-(global-set-key (kbd "s-4") #'me:select-3rd-other-buffer)
-(global-set-key (kbd "s-5") #'me:select-4th-other-buffer)
+(global-set-key (kbd "s-#") 'me:select-nth-other-buffer)    ; base mapping for the following...
+(global-set-key (kbd "s-2") (kbd "C-u 1 s-#"))
+(global-set-key (kbd "s-3") (kbd "C-u 2 s-#"))
+(global-set-key (kbd "s-4") (kbd "C-u 3 s-#"))
+(global-set-key (kbd "s-5") (kbd "C-u 4 s-#"))
 (global-set-key (kbd "s-c") #'me:rotate-fill-column)
 (global-set-key (kbd "s-]") #'winner-redo)
 (global-set-key (kbd "s-[") #'winner-undo)

                            "~/Dropbox/Notes"
                          "~/Notes") "Location of note files")

;; some useful functions
(defun me:replace-prefix (prefix input)
  (replace-regexp-in-string ( concat "^" (regexp-quote prefix)) "" input))

(defun me:replace-all (input from to)
  (replace-regexp-in-string (regexp-quote from) to input nil))


  (when (and (>= (recursion-depth) 1) (active-minibuffer-window))
    (abort-recursive-edit)))

;; save any dirty buffers
(defun me:save-dirty-buffers ()
  "Save any dirty buffers"
  (interactive)
  (save-some-buffers t))

;; select the nth other buffer
(defun me:select-nth-other-buffer (arg)
  (interactive "p")
  (let ((buffer (nth arg (-filter 'buffer-file-name (buffer-list)))))
    (if buffer
        (switch-to-buffer buffer))))

;; rotate the current fill-column
(defun me:rotate-fill-column ()
  (interactive)
  (setq fill-column (cond ((= fill-column 70) 80)
