(with-eval-after-load "evil-leader"
;; Buffer & File
(evil-leader/set-key "f" 'ido-switch-buffer)
+ (evil-leader/set-key "b" 'ido-switch-buffer)
(evil-leader/set-key "w" 'evil-save)
(evil-leader/set-key "r" 'ivy-recentf)
(evil-leader/set-key "w" 'save-buffer)
(evil-leader/set-key "o" 'ido-find-file)
- (evil-leader/set-key "p" 'projectile-find-file)
+ (evil-leader/set-key "t" 'projectile-find-file)
;; Window
(evil-leader/set-key "s" 'evil-window-split)
(evil-leader/set-key "v" 'evil-window-vsplit)
(evil-leader/set-key "q" 'evil-quit)
;; others
- (evil-leader/set-key "h" 'help)
(evil-leader/set-key "g" 'magit-status)
- (evil-leader/set-key "d" 'dired)
- (evil-leader/set-key "e" 'sd/toggle-project-eshell))
-
-
+ (evil-leader/set-key "d" (lambda () (interactive) (dired default-directory)))
+ (evil-leader/set-key "e" 'sd/toggle-project-eshell)
+ (evil-leader/set-key "h" 'help))
#+END_SRC
* other extention
* Key bindings
** Basic state bindings
There are three kinds key bindings
-- prefix key is the leader key, defined by evil-leader. *;*
+- prefix key is the leader key, defined by evil-leader.
- prefix key is the =Ctrl=,
- prefix key is =\=,
** Eshell
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (with-eval-after-load "evil"
- (with-eval-after-load "evil-leader"
- (with-eval-after-load "eshell"
- (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader "e")) #'sd/toggle-project-eshell)
- (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader "d")) #'dired)
- (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader "f")) #'ido-switch-buffer)
- (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader "q")) #'evil-quit)
- (evil-define-key 'emacs eshell-mode-map (kbd "C-;") 'mode-line-other-buffer)
- ;; (evil-define-key 'emacs eshell-mode-map (kbd ";q") 'evil-quit)
- )))
+ (add-hook 'eshell-mode-hook (lambda ()
+ (when (and (boundp 'evil-mode) evil-mode)
+ (dolist (key-fun '(("e" . sd/toggle-project-eshell)
+ ("d" . dired)
+ ("f" . ido-switch-buffer)
+ ("'" . other-window)
+ ("q" . evil-quit)))
+ (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader (car key-fun))) (cdr key-fun))))
+ ;; (define-key eshell-mode-map (kbd "C-j") nil)
+ ))
+
+ ;;
+ ;; (add-hook 'eshell-mode-map
+ ;; (lambda ()
+ ;; (mapc (lambda (key-fun)
+ ;; (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader (car key-fun))) (cdr key-fun)))
+ ;; '(("e" . dired)))))
+ ;; (add-hook 'eshell-mode-hook (lambda ()
+ ;; (loop for (key . fun) in '(
+ ;; ("e" . sd/toggle-project-eshell))
+ ;; do (evil-define-key 'emacs eshell-mode-map (kbd (concat evil-leader/leader key)) fun))))
#+END_SRC
** Dired mode
#+BEGIN_SRC emacs-lisp :tangle yes :results silent