 (define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
 (define-key evil-normal-state-map (kbd "C-d") 'evil-scroll-down)
 (define-key evil-visual-state-map (kbd "C-d") 'evil-scroll-down)
-(define-key evil-normal-state-map (kbd "C-g") 'counsel-imenu)
-(define-key evil-insert-state-map (kbd "C-g") 'counsel-imenu)
 (define-key evil-normal-state-map (kbd "C-p") 'counsel-projectile-find-file)
 (define-key evil-insert-state-map (kbd "C-p") 'counsel-projectile-find-file)
 ;; exit motion state with `q`. it's mainly for viewing contents

  (end-of-buffer)
  (end-of-line)
  (evil-insert-state))
(defun ab/new-eshell ()
  "create a new eshell"
  (interactive)
  (if (projectile-project-root)
      (projectile-run-eshell 'N)
    (eshell 'N)))
(defun ab/new-eshell-in-split ()
  "create a new eshell in new split.
if in eshell already; create a vertical split,

(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

;; Improving scrolling
(setq redisplay-dont-pause t
      scroll-margin 1
      scroll-step 1
      scroll-conservatively 10000
      scroll-preserve-screen-position 1)

;; PATH
(use-package exec-path-from-shell
  :init
