;;;; Company configuration. (use-package company :ensure t :defer t :init (global-company-mode) :config (progn (add-to-list 'completion-styles 'initials t) (bind-key "M-" #'company-complete company-mode-map) (setq company-tooltip-align-annotations t tab-always-indent 'complete) (setq company-dabbrev-downcase nil)) :diminish company-mode) ;;;; Evil mode configuration. (use-package evil :ensure t :init ;; tweak evil's configuration before loading it (setq evil-search-module 'evil-search evil-ex-complete-emacs-commands nil evil-vsplit-window-right t evil-split-window-below t evil-shift-round nil evil-want-C-u-scroll t) :config ;; tweak evil after loading it (evil-mode) (setq evil-want-C-u-scroll t) (eval-after-load "evil-maps" ;; Unset Evil's "M-." keymap so that TAGS definitions can be followed. (define-key evil-normal-state-map "\M-." nil))) (use-package undo-tree :ensure t) ;;;; Heml mode configuration. (use-package helm :requires helm-config :init (helm-mode 1) (helm-autoresize-mode 1) :bind ("" . helm-execute-persistent-action) ; rebind tab to run persistent action ("C-i" . helm-execute-persistent-action) ; make TAB work in terminal ("C-z" . helm-select-action) ; list actions using C-z :config (setq helm-autoresize-max-height 0 helm-autoresize-min-height 20 helm-split-window-in-side-p t ; Open helm buffer inside current window, not occupy whole other window helm-move-to-line-cycle-in-source t ; Move to end or beginning of source when reaching top or bottom of source. helm-ff-search-library-in-sexp t ; Search for library in `require' and `declare-function' sexp. helm-scroll-amount 8 ; Scroll 8 lines other window using M-/M- helm-ff-file-name-history-use-recentf t helm-echo-input-in-header-line t) (global-unset-key (kbd "C-x c")) (when (executable-find "firefox") (setq helm-google-suggest-use-curl-p t)) :bind ("C-c h" . helm-command-prefix)) (provide 'jenga-prelude)