       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-<next>/M-<prior>
-      helm-ff-file-name-history-use-recentf t)
+      helm-ff-file-name-history-use-recentf t
+      helm-buffers-fuzzy-matching t
+      helm-recentf-fuzzy-match t)
 
 (helm-mode 1)
 

(use-package evil-leader
  :ensure t)

(use-package flycheck
  :ensure t
  :init (global-flycheck-mode))

;;; Evil leader
(global-evil-leader-mode)
(evil-leader/set-leader "<SPC>")
(evil-leader/set-key
  "a" 'helm-ag
  "d" 'projectile-find-dir
  "f" 'projectile-find-file
  "g" 'magit-status)

;;; Magit
(global-set-key (kbd "C-x g") 'magit-status)

;;; Setup `ibuffer`
(global-set-key (kbd "C-x C-b") 'ibuffer)

;;; Smex
(global-set-key (kbd "M-x") 'smex)
(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)

;;; JS setup
(setq-default indent-tabs-mode nil)
(setq js-indent-level 2)
;;; Turn off jshint
(setq-default flycheck-disabled-checkers '(javascript-jshint))

;;; Line numbers
(global-linum-mode 1)

;;; Deal with trailing whitespace
(add-hook 'before-save-hook 'delete-trailing-whitespace)

;;; Turn off the GUI's tool bar and menu bar
(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(if (fboundp 'menu-bar-mode) (menu-bar-mode -1))

(provide 'init.el)
;;; init.el ends here
