Add web-mode keymaps; clean up keymaps in general

This commit is contained in:
Henrik Lissner 2014-08-25 23:15:33 -04:00
parent b4a272b74b
commit dc01e4b2a9
3 changed files with 44 additions and 43 deletions

View file

@ -25,6 +25,10 @@
(global-set-key (kbd "s-/") 'evilnc-comment-or-uncomment-lines) (global-set-key (kbd "s-/") 'evilnc-comment-or-uncomment-lines)
(global-set-key (kbd "s-<f12>") 'toggle-frame-fullscreen) (global-set-key (kbd "s-<f12>") 'toggle-frame-fullscreen)
(global-set-key (kbd "C-;") 'eval-expression)
(global-set-key (kbd "s-;") 'my/tmux-run)
(global-set-key (kbd "s-:") 'my/tmux-paste)
;; Faster scrolling ;; Faster scrolling
(mapc (lambda(map) (mapc (lambda(map)
(evil-define-key map my/mode-map (kbd "s-j") "5j") (evil-define-key map my/mode-map (kbd "s-j") "5j")
@ -33,17 +37,16 @@
(nmap my/mode-map (nmap my/mode-map
;; Leader alternatives ;; Leader alternatives
(kbd "s-f") 'projectile-find-file (kbd "s-t") 'projectile-find-file
(kbd "s-F") 'projectile-ag (kbd "s-F") 'projectile-ag
(kbd "s-p") 'projectile-switch-project (kbd "s-p") 'projectile-switch-project
(kbd "s-m") 'my/recentf-ido-find-file (kbd "s-m") 'my/recentf-ido-find-file
(kbd "s-M") 'projectile-recentf (kbd "s-M") 'projectile-recentf
(kbd "s-o") 'ido-find-file (kbd "s-o") 'ido-find-file
(kbd "s-O") 'open-major-mode-conf (kbd "s-d") 'dash-at-point
(kbd "s-'") 'mc/mark-next-like-this (kbd "s-'") 'mc/mark-next-like-this
(kbd "s-\"") 'mc/mark-previous-like-this (kbd "s-\"") 'mc/mark-previous-like-this
(kbd "C-s-'") 'mc/mark-all-like-this (kbd "C-s-'") 'mc/mark-all-like-this)
(kbd "s-d") 'dash-at-point)
(imap my/mode-map (imap my/mode-map
;; Textmate-esque insert-line before/after ;; Textmate-esque insert-line before/after
@ -56,19 +59,19 @@
(kbd "<s-backspace>") 'backward-kill-line (kbd "<s-backspace>") 'backward-kill-line
;; Fixes delete ;; Fixes delete
(kbd "<kp-delete>") 'delete-char))) (kbd "<kp-delete>") 'delete-char)
(imap emmet-mode-keymap
(kbd "s-e") 'emmet-expand-yas
(kbd "s-E") 'emmet-expand-line)))
;; Local keymaps ;;;;;;;;;;;;;;;; ;; Local keymaps ;;;;;;;;;;;;;;;;
(evil-leader/set-leader ",") (evil-leader/set-leader ",")
(evil-leader/set-key (evil-leader/set-key
"`" 'my/notes
"'" 'mc/mark-next-like-this "'" 'mc/mark-next-like-this
"\"" 'mc/mark-all-like-this "\"" 'mc/mark-all-like-this
"e" 'ido-find-file "e" 'ido-find-file
"E" 'my/initfiles "E" 'my/initfiles
"d" 'dash-at-point
"f" 'projectile-find-file
"F" 'projectile-ag
"g" 'git-gutter:stage-hunk "g" 'git-gutter:stage-hunk
"G" 'git-gutter:revert-hunk "G" 'git-gutter:revert-hunk
"m" 'my/recentf-ido-find-file ; recent GLOBAL files "m" 'my/recentf-ido-find-file ; recent GLOBAL files
@ -79,9 +82,8 @@
";" 'helm-imenu ";" 'helm-imenu
":" 'my/ido-goto-symbol ":" 'my/ido-goto-symbol
"," 'ido-switch-buffer "," 'ido-switch-buffer
"." 'projectile-find-file
"=" 'align-regexp "=" 'align-regexp
"x" 'my/kill-other-buffers
"X" 'my/kill-all-buffers
(kbd "RET") 'org-capture) (kbd "RET") 'org-capture)
;; Remap ; to : - SPC and shift-SPC replace ; and , - have to use ;; Remap ; to : - SPC and shift-SPC replace ; and , - have to use
@ -90,10 +92,6 @@
(define-key evil-visual-state-map ";" 'evil-ex) (define-key evil-visual-state-map ";" 'evil-ex)
(nmap my/mode-map (nmap my/mode-map
(kbd "C-;") 'eval-expression ; Elisp command
(kbd "s-;") 'my/tmux-run
(kbd "s-:") 'my/tmux-paste
;; Moving rows rather than lines (in case of wrapping) ;; Moving rows rather than lines (in case of wrapping)
"j" 'evil-next-visual-line "j" 'evil-next-visual-line
"k" 'evil-previous-visual-line "k" 'evil-previous-visual-line
@ -174,12 +172,14 @@
(evil-ex-define-cmd "retab" 'untabify) ; TODO: Implement proper retab defun (evil-ex-define-cmd "retab" 'untabify) ; TODO: Implement proper retab defun
(evil-ex-define-cmd "msg" 'view-echo-area-messages) (evil-ex-define-cmd "msg" 'view-echo-area-messages)
(evil-ex-define-cmd "gtd" 'open-gtd) (evil-ex-define-cmd "gtd" 'open-gtd)
(evil-ex-define-cmd "notes" 'open-notes) (evil-ex-define-cmd "n[otes]" 'my/notes)
(evil-ex-define-cmd "tcd" (λ (my/tmux-chdir (projectile-project-root)))) (evil-ex-define-cmd "tcd" (λ (my/tmux-chdir (projectile-project-root))))
(evil-ex-define-cmd "ag" 'projectile-ag)
(evil-ex-define-cmd "el" 'my/initfiles)
(evil-ex-define-cmd "ba" (lambda(bang) (interactive) (if bang (my/kill-all-buffers) (my/kill-other-buffers))))
;;;; Keymap fixes ;;;;;;;;;;;;;;; ;;;; Keymap fixes ;;;;;;;;;;;;;;;
;; Make ESC quit all the things ;; Make ESC quit all the things
(nvmap my/mode-map [escape] 'keyboard-quit)
(mapc (lambda (map) (mapc (lambda (map)
(define-key map [escape] 'minibuffer-quit)) (define-key map [escape] 'minibuffer-quit))
(list minibuffer-local-map (list minibuffer-local-map
@ -187,9 +187,9 @@
minibuffer-local-completion-map minibuffer-local-completion-map
minibuffer-local-must-match-map minibuffer-local-must-match-map
minibuffer-local-isearch-map)) minibuffer-local-isearch-map))
(global-set-key [escape] 'evil-exit-emacs-state) (define-key evil-emacs-state-map [escape] 'evil-exit-emacs-state)
;; Close help window with escape ;; Close help window with escape
(define-key global-map [escape] 'quit-window) (define-key help-mode-map [escape] 'kill-buffer-and-window)
;; Restore bash-esque keymaps in insert mode and the minibuffer ;; Restore bash-esque keymaps in insert mode and the minibuffer
(mapc (lambda (map) (mapc (lambda (map)
@ -197,7 +197,6 @@
(define-key map (kbd "C-e") 'move-end-of-line) (define-key map (kbd "C-e") 'move-end-of-line)
(define-key map (kbd "C-u") 'backward-kill-line)) (define-key map (kbd "C-u") 'backward-kill-line))
(list minibuffer-local-map minibuffer-local-ns-map evil-insert-state-map)) (list minibuffer-local-map minibuffer-local-ns-map evil-insert-state-map))
(define-key evil-insert-state-map (kbd "C-w") 'backward-kill-word) (define-key evil-insert-state-map (kbd "C-w") 'backward-kill-word)
(define-key minibuffer-local-map (kbd "C-w") 'ido-delete-backward-word-updir) (define-key minibuffer-local-map (kbd "C-w") 'ido-delete-backward-word-updir)
@ -211,10 +210,6 @@
(define-key ido-completion-map " " 'ido-exit-minibuffer))) (define-key ido-completion-map " " 'ido-exit-minibuffer)))
;; ;;
(defun backward-kill-line ()
(interactive)
(evil-delete (point-at-bol) (point)))
(defun minibuffer-quit () (defun minibuffer-quit ()
"Abort recursive edit. "Abort recursive edit.
In Delete Selection mode, if the mark is active, just deactivate it; In Delete Selection mode, if the mark is active, just deactivate it;
@ -225,6 +220,10 @@
(when (get-buffer "*Completions*") (delete-windows-on "*Completions*")) (when (get-buffer "*Completions*") (delete-windows-on "*Completions*"))
(abort-recursive-edit))) (abort-recursive-edit)))
(defun backward-kill-line ()
(interactive)
(evil-delete (point-at-bol) (point)))
;; Mimic expandtab in vim ;; Mimic expandtab in vim
(defun backward-delete-whitespace-to-column () (defun backward-delete-whitespace-to-column ()
"delete back to the previous column of whitespace, or as much whitespace as possible, "delete back to the previous column of whitespace, or as much whitespace as possible,
@ -240,6 +239,5 @@ or just one char if that's not possible"
(backward-delete-char-untabify (- (match-end 1) (match-beginning 1))) (backward-delete-char-untabify (- (match-end 1) (match-beginning 1)))
(call-interactively 'backward-delete-char-untabify)))))) (call-interactively 'backward-delete-char-untabify))))))
;; ;;
(provide 'core-keymaps) (provide 'core-keymaps)

View file

@ -9,7 +9,10 @@
;; current subdir, instead of the current subdir of this dired buffer ;; current subdir, instead of the current subdir of this dired buffer
dired-dwim-target t)))) dired-dwim-target t))))
(use-package ag :ensure t :defer t) (use-package ag :ensure t :defer t
:config
(define-key ag-mode-map [escape] 'kill-buffer-and-window))
(use-package helm :ensure t :defer t) (use-package helm :ensure t :defer t)
(use-package grizzl :ensure t :defer t) (use-package grizzl :ensure t :defer t)
(use-package neotree :ensure t :commands (neotree-show neotree-hide neotree-toggle)) (use-package neotree :ensure t :commands (neotree-show neotree-hide neotree-toggle))

View file

@ -30,19 +30,23 @@
(setq web-mode-ac-sources-alist (setq web-mode-ac-sources-alist
'(("css" . (ac-source-css-property)))) '(("css" . (ac-source-css-property))))
(setq web-mode-markup-indent-offset 4) (setq web-mode-markup-indent-offset 4
(setq web-mode-css-indent-offset 4) web-mode-css-indent-offset 4
(setq web-mode-code-indent-offset 4) web-mode-code-indent-offset 4)
(nvmap web-mode-map "]a" 'web-mode-attribute-next) (nvmap web-mode-map
(nvmap web-mode-map "]t" 'web-mode-tag-next) "]a" 'web-mode-attribute-next
(nvmap web-mode-map "[t" 'web-mode-tag-previous) "]t" 'web-mode-tag-next
(nvmap web-mode-map "]T" 'web-mode-element-child) "[t" 'web-mode-tag-previous
(nvmap web-mode-map "[T" 'web-mode-element-parent) "]T" 'web-mode-element-child
(nmap web-mode-map "zf" 'web-mode-fold-or-unfold) "[T" 'web-mode-element-parent)
(nmap web-mode-map ",t" 'web-mode-element-rename)
(nmap web-mode-map
"zf" 'web-mode-fold-or-unfold
",ct" 'web-mode-element-rename)
(define-key web-mode-map (kbd "s-/") 'web-mode-comment-or-uncomment) (define-key web-mode-map (kbd "s-/") 'web-mode-comment-or-uncomment)
(add-hook 'web-mode-hook 'jekyll-mode-maybe))) (add-hook 'web-mode-hook 'jekyll-mode-maybe)))
(use-package tern :ensure t (use-package tern :ensure t
@ -58,17 +62,13 @@
(lambda () (lambda ()
(tern-mode t) (tern-mode t)
(tern-ac-setup) (tern-ac-setup)
(imap js-mode-map (kbd "C-SPC") 'tern-ac-complete) (imap js-mode-map (kbd "C-SPC") 'tern-ac-complete
))) ))))
(use-package emmet-mode :ensure t (use-package emmet-mode :ensure t
:defer t :defer t
:config :config
(progn (setq emmet-move-cursor-between-quotes t)
(imap emmet-mode-keymap (kbd "s-e") 'emmet-expand-yas)
(imap emmet-mode-keymap (kbd "s-E") 'emmet-expand-line)
(setq emmet-move-cursor-between-quotes t))
:init :init
(progn (progn
(add-hook 'scss-mode-hook 'emmet-mode) (add-hook 'scss-mode-hook 'emmet-mode)