diff --git a/init.el b/init.el index 70298fe..e91106f 100644 --- a/init.el +++ b/init.el @@ -28,9 +28,9 @@ ;; package manager (require 'package) (setq package-enable-at-startup nil) ; tells emacs not to load any packages before starting up -(setq package-archives '(("org" . "http://orgmode.org/elpa/") - ("gnu" . "http://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/"))) +(setq package-archives '(("org" . "http://orgmode.org/elpa/") + ("gnu" . "http://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/"))) (package-initialize) ;; use package @@ -59,64 +59,68 @@ (setq evil-want-keybinding nil) :config (evil-mode 1) - (global-undo-tree-mode) - (evil-set-undo-system 'undo-tree) (global-display-line-numbers-mode)) -(use-package evil-collection :ensure t - :after evil - :config - (evil-collection-init) - :custom - (evil-collection-setup-minibuffer t)) + (define-key evil-insert-state-map (kbd "C-k") nil) + (define-key evil-insert-state-map (kbd "C-v") nil) + (define-key evil-insert-state-map (kbd "C-v") 'evil-paste-after) (use-package evil-surround :ensure t :after evil - :config - (global-evil-surround-mode 1) - (evil-define-key 'visual evil-surround-mode-map "s" 'evil-surround-region)) - + :config (global-evil-surround-mode 1)) +(use-package evil-collection :ensure t + :after evil + :config (evil-collection-init) + :custom (evil-collection-setup-minibuffer t)) (use-package evil-matchit :ensure t :config (global-evil-matchit-mode 1)) +(use-package undo-tree :ensure t + :config + (global-undo-tree-mode) + (evil-set-undo-system 'undo-tree)) ;; helm config (use-package helm :ensure t :bind ( - ([remap apropos] . helm-apropos) - ([remap find-library] . helm-locate-library) - ([remap bookmark-jump] . helm-bookmarks) - ([remap execute-extended-command] . helm-M-x) - ([remap find-file] . helm-find-files) - ([remap imenu-anywhere] . helm-imenu-anywhere) - ([remap imenu] . helm-semantic-or-imenu) - ([remap noop-show-kill-ring] . helm-show-kill-ring) - ([remap persp-switch-to-buffer] . helm-mini) - ([remap switch-to-buffer] . helm-buffers-list) - ([remap projectile-find-file] . helm-projectile-find-file) - ([remap projectile-recentf] . helm-projectile-recentf) - ([remap projectile-switch-project] . helm-projectile-switch-project) + ([remap apropos] . helm-apropos) + ([remap find-library] . helm-locate-library) + ([remap bookmark-jump] . helm-bookmarks) + ([remap execute-extended-command] . helm-M-x) + ([remap find-file] . helm-find-files) + ([remap imenu-anywhere] . helm-imenu-anywhere) + ([remap imenu] . helm-semantic-or-imenu) + ([remap noop-show-kill-ring] . helm-show-kill-ring) + ([remap persp-switch-to-buffer] . helm-mini) + ([remap switch-to-buffer] . helm-buffers-list) + ([remap projectile-find-file] . helm-projectile-find-file) + ([remap projectile-recentf] . helm-projectile-recentf) + ([remap projectile-switch-project] . helm-projectile-switch-project) ([remap projectile-switch-to-buffer] . helm-projectile-switch-to-buffer) - ([remap recentf-open-files] . helm-recentf) - :map helm-map ( - ("C-j" . helm-next-line) + ([remap recentf-open-files] . helm-recentf) + :map helm-map ("C-k" . helm-previous-line) + ("C-j" . helm-next-line) + ("C-p" . helm-previous-line) + ("C-n" . helm-next-line) ("C-h" . helm-find-files-up-one-level) ("C-l" . helm-ff-RET) - ("ESC" . abort-recursive-edit))) - ("DOWN" . helm-next-line) - ("UP" . helm-previous-line) - ("LEFT" . helm-find-files-up-one-level) - ("RIGHT" . helm-ff-RET) + ("ESC" . abort-recursive-edit)) :preface (setq - helm-display-header-line nil - helm-find-files-doc-header nil - helm-display-buffer-default-height 0.25) - :init + helm-display-buffer-default-height 0.25 + helm-display-header-line nil + helm-ff-file-name-history-use-recentf t + helm-find-files-doc-header nil + helm-mode-line-string nil + helm-move-to-line-cycle-in-source t) :config - (require 'helm-config)) + (require 'helm-config) + (helm-mode 1)) (use-package helm-lsp :ensure t) (use-package helm-company :ensure t) (use-package swiper-helm :ensure t) (use-package helm-projectile :ensure t) +(use-package helm-ag :ensure t + :config + (setq helm-ag-base-command "rg --vimgrep --no-heading --smart-case")) ;; projectile (use-package projectile :ensure t @@ -317,6 +321,7 @@ ;; general config (use-package general :ensure t :config + (global-set-key [escape] #'helm-or-evil-escape) (menu-bar-mode -1) (toggle-scroll-bar -1) (tool-bar-mode -1) @@ -384,6 +389,8 @@ "pp" 'helm-projectile-switch-project "pf" 'helm-projectile-find-file "pr" 'helm-projectile-recentf + "pg" 'helm-ag + "/" 'helm-ag ;; Swyper "s" '(:ignore t :which-key "Swyper") @@ -428,6 +435,19 @@ ;; custom functions +(defun foo/helm-or-evil-escape () + "Escape from anything." + (interactive) + (cond ((minibuffer-window-active-p (minibuffer-window)) + ;; quit the minibuffer if open. + (abort-recursive-edit)) + ;; Run all escape hooks. If any returns non-nil, then stop there. + ;; ((cl-find-if #'funcall doom-escape-hook)) + ;; don't abort macros + ((or defining-kbd-macro executing-kbd-macro) nil) + ;; Back to the default + ((keyboard-quit)))) + (defun foo/toggle-maximize-buffer () "Maximize buffer." (interactive) (save-excursion @@ -492,6 +512,7 @@ initialized with the current directory instead of filename." (yes-or-no-p (format "Create directory '%s'?" dir))) (make-directory dir t))) + (rename-file filename new-name 1) (rename-buffer new-name) (set-visited-file-name new-name) @@ -549,7 +570,7 @@ initialized with the current directory instead of filename." '("234dbb732ef054b109a9e5ee5b499632c63cc24f7c2383a849815dacc1727cb6" "a0be7a38e2de974d1598cf247f607d5c1841dbcef1ccd97cded8bea95a7c7639" "47db50ff66e35d3a440485357fb6acb767c100e135ccdf459060407f8baea7b2" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "0d01e1e300fcafa34ba35d5cf0a21b3b23bc4053d388e352ae6a901994597ab1" "835868dcd17131ba8b9619d14c67c127aa18b90a82438c8613586331129dda63" "da186cce19b5aed3f6a2316845583dbee76aea9255ea0da857d1c058ff003546" "8d7b028e7b7843ae00498f68fad28f3c6258eda0650fe7e17bfb017d51d0e2a2" "1278c5f263cdb064b5c86ab7aa0a76552082cf0189acf6df17269219ba496053" "e19ac4ef0f028f503b1ccafa7c337021834ce0d1a2bca03fcebc1ef635776bea" "78e6be576f4a526d212d5f9a8798e5706990216e9be10174e3f3b015b8662e27" "7a7b1d475b42c1a0b61f3b1d1225dd249ffa1abb1b7f726aec59ac7ca3bf4dae" "6c98bc9f39e8f8fd6da5b9c74a624cbb3782b4be8abae8fd84cbc43053d7c175" "d47f868fd34613bd1fc11721fe055f26fd163426a299d45ce69bef1f109e1e71" "745d03d647c4b118f671c49214420639cb3af7152e81f132478ed1c649d4597d" "a7b20039f50e839626f8d6aa96df62afebb56a5bbd1192f557cb2efb5fcfb662" "246a9596178bb806c5f41e5b571546bb6e0f4bd41a9da0df5dfbca7ec6e2250c" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" "3d54650e34fa27561eb81fc3ceed504970cc553cfd37f46e8a80ec32254a3ec3" "613aedadd3b9e2554f39afe760708fc3285bf594f6447822dd29f947f0775d6c" "f91395598d4cb3e2ae6a2db8527ceb83fed79dbaf007f435de3e91e5bda485fb" "711efe8b1233f2cf52f338fd7f15ce11c836d0b6240a18fffffc2cbd5bfe61b0" "01cf34eca93938925143f402c2e6141f03abb341f27d1c2dba3d50af9357ce70" "37144b437478e4c235824f0e94afa740ee2c7d16952e69ac3c5ed4352209eefb" "93ed23c504b202cf96ee591138b0012c295338f38046a1f3c14522d4a64d7308" "f7216d3573e1bd2a2b47a2331f368b45e7b5182ddbe396d02b964b1ea5c5dc27" "c4bdbbd52c8e07112d1bfd00fee22bf0f25e727e95623ecb20c4fa098b74c1bd" "f2927d7d87e8207fa9a0a003c0f222d45c948845de162c885bf6ad2a255babfd" "71e5acf6053215f553036482f3340a5445aee364fb2e292c70d9175fb0cc8af7" "99ea831ca79a916f1bd789de366b639d09811501e8c092c85b2cb7d697777f93" "e074be1c799b509f52870ee596a5977b519f6d269455b84ed998666cf6fc802a" "ca849ae0c889eb918785cdc75452b1e11a00848a5128a95a23872e0119ccc8f4" "1ca1f43ca32d30b05980e01fa60c107b02240226ac486f41f9b790899f6f6e67" "55257ccc6763185dde2146bcc5aa2b83130cc55042c45daaf5efe3c3137b578f" "5091eadbb87fa0a168a65f2c3e579d1a648d764f12ab9d3ab7bdefca709cd2a5" "5a411e7cb2d7955b28c514cd5b75782c6dd4ba027089fec17a2573405b0fdd5c" "aed6332e9a38b49bb044b994e8be0d57a2f67ff6ca96f5ce8e0130562c4cc233" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" "7dc3fe8fadb914563790a3fbe587fd455626442f66da333ea4de2c455feefb98" "37ba833442e0c5155a46df21446cadbe623440ccb6bbd61382eb869a2b9e9bf9" "09cadcc2784baa744c6a7c5ebf2a30df59c275414768b0719b800cabd8d1b842" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "93a0885d5f46d2aeac12bf6be1754faa7d5e28b27926b8aa812840fe7d0b7983" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "db10381a554231a40b7474eaac28bd58f05067faacce3b25d294bb179a3511a1" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "868abc288f3afe212a70d24de2e156180e97c67ca2e86ba0f2bf9a18c9672f07" default)) '(helm-minibuffer-history-key "M-p") '(package-selected-packages - '(direnv lsp-ivy bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy)) + '(helm-ag undo-tree direnv lsp-ivy bazel-mode rainbow-mode highlight-indentation k8s-mode darkokai-theme monokai-pro-theme php-mode puppet-mode smartparens yaml-mode ivy-hydra ivy-rich evy use-package general evil avy)) '(require-final-newline t)) (custom-set-faces ;; custom-set-faces was added by Custom.