** 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