dotfiles

My dotfiles.
git clone git://git.ryanmj.xyz/dotfiles.git
Log | Files | Refs | LICENSE

commit 5ee9db84bcea47e1d4b043e22db01abeafe7a748
parent 170370656f2bb6832fd3b86b3b00ee8e8b1c355c
Author: Ryan Jeffrey <ryan@ryanmj.xyz>
Date:   Sat, 26 Nov 2022 00:16:57 -0800

Evil mode keys, mostly switching windows

Diffstat:
M.config/emacs/init.el | 73+++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 57 insertions(+), 16 deletions(-)

diff --git a/.config/emacs/init.el b/.config/emacs/init.el @@ -476,11 +476,34 @@ mouse-3: Toggle minor modes" (when (and module-file-suffix (not (eq system-type 'windows-nt))) (use-package vterm :ensure t - :init (setq vterm-always-compile-module t) + :hook + (vterm-mode . evil-emacs-state) + (vterm-copy-mode . meliache/evil-normal-in-vterm-copy-mode) + :config + (defun meliache/evil-normal-in-vterm-copy-mode () + (if (bound-and-true-p vterm-copy-mode) + (evil-normal-state) + (evil-emacs-state))) + :init + (setq vterm-always-compile-module t) :bind (:map vterm-mode-map ("M-c" . 'vterm-copy-mode) ("M-i" . 'ido-switch-buffer)))) +(use-package fzf + :ensure t + :config + (setq fzf/args "-x --color bw --print-query --margin=1,0 --no-hscroll" + fzf/executable "fzf" + fzf/git-grep-args "-i --line-number %s" + ;; command used for `fzf-grep-*` functions + ;; example usage for ripgrep: + ;; fzf/grep-command "rg --no-heading -nH" + fzf/grep-command "grep -nrH" + ;; If nil, the fzf buffer will appear at the top of the window + fzf/position-bottom t + fzf/window-height 15)) + ;; Emacs IDE bloat features. (use-package neotree :ensure t @@ -512,8 +535,10 @@ mouse-3: Toggle minor modes" (use-package helm-ag :ensure t) + (use-package helm-unicode :ensure t) + (use-package helm-xref :ensure t) (define-key global-map [remap find-file] #'helm-find-files) @@ -521,22 +546,38 @@ mouse-3: Toggle minor modes" (define-key global-map [remap switch-to-buffer] #'helm-mini) (define-key global-map (kbd "M-i") #'switch-to-buffer) - (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) - ;(evil-define-key 'normal 'global (kbd "<leader>f") #'swiper) - ;(evil-define-key 'normal 'global (kbd "<leader>cf") #'counsel-fzf) - ;(evil-define-key 'normal 'global (kbd "<leader>co") #'counsel-find-file) - ;(evil-define-key 'normal 'global (kbd "<leader>cdf") #'counsel-describe-function) - ;(evil-define-key 'normal 'global (kbd "<leader>cds") #'counsel-describe-variable) - ;(evil-define-key 'normal 'global (kbd "<leader>cdv") #'counsel-describe-symbol) - ;(evil-define-key 'normal 'global (kbd "<leader>cdb") #'counsel-descbinds) - ;(evil-define-key 'normal 'global (kbd "<leader>dl") #'counsel-info-lookup-symbol) - ;(evil-define-key 'normal 'global (kbd "<leader>cg") #'counsel-git) - ;(evil-define-key 'normal 'global (kbd "<leader>cG") #'counsel-grep) - (evil-define-key 'normal 'global (kbd "<leader>ha") #'helm-ag) + (evil-define-key 'normal 'global (kbd "<leader>ff") #'fzf) + (evil-define-key 'normal 'global (kbd "<leader>fg") #'fzf-git) + (evil-define-key 'normal 'global (kbd "<leader>cdf") #'clippy-describe-function) + (evil-define-key 'normal 'global (kbd "<leader>cds") #'clippy-describe-variable) + (evil-define-key 'normal 'global (kbd "<leader>df") #'describe-function) + (evil-define-key 'normal 'global (kbd "<leader>dv") #'describe-variable) + (evil-define-key 'normal 'global (kbd "<leader>ds") #'describe-symbol) + ;; Evil helm. + (evil-define-key 'normal 'global (kbd "<leader>haa") #'helm-ag) + (evil-define-key 'normal 'global (kbd "<leader>haf") #'helm-ag-this-file) (evil-define-key 'normal 'global (kbd "<leader>hu") #'helm-unicode) - (evil-define-key 'normal 'global (kbd "<leader>SPC") #'helm-M-x)) -;; General ivy -;;(global-set-key (kbd "M-i") 'ivy-switch-buffer)) + (evil-define-key 'normal 'global (kbd "<leader>SPC") #'helm-M-x) + ;; Use vim window commands for emacs mode. + (evil-define-key 'emacs 'global (kbd "C-w C-w") #'evil-window-next) + (evil-define-key 'emacs 'global (kbd "C-w C-k") #'evil-window-up) + (evil-define-key 'emacs 'global (kbd "C-w C-p") #'evil-window-mru) + (evil-define-key 'emacs 'global (kbd "C-w C-p") #'evil-window-mru) + (evil-define-key 'emacs 'global (kbd "C-w C-l") #'evil-window-right) + (evil-define-key 'emacs 'global (kbd "C-w C-h") #'evil-window-left) + (evil-define-key 'emacs 'global (kbd "C-w W") #'evil-window-prev) + (evil-define-key 'emacs 'global (kbd "C-w |") #'evil-window-set-width) + (evil-define-key 'emacs 'global (kbd "C-w C-_") #'evil-window-set-height) + (evil-define-key 'emacs 'global (kbd "C-w n") #'evil-window-new) + (evil-define-key 'emacs 'global (kbd "C-w C-s") #'evil-window-split) + (evil-define-key 'emacs 'global (kbd "C-w C-v") #'evil-window-vsplit) + (evil-define-key 'emacs 'global (kbd "C-w C-x") #'evil-window-exchange) + (evil-define-key 'emacs 'global (kbd "C-w >") #'evil-window-increase-width) + (evil-define-key 'emacs 'global (kbd "C-w <") #'evil-window-decrease-width) + (evil-define-key 'emacs 'global (kbd "C-w +") #'evil-window-increase-height) + (evil-define-key 'emacs 'global (kbd "C-w -") #'evil-window-decrease-height) + (evil-define-key 'emacs 'global (kbd "C-w C-r") #'evil-window-rotate-downwards) + (evil-define-key 'emacs 'global (kbd "C-w R") #'evil-window-rotate-upwards)) (use-package format-all :ensure t)