;;; prelude-helm.el --- Helm setup ;; ;; Copyright © 2011-2014 Bozhidar Batsov ;; ;; Author: Bozhidar Batsov ;; URL: https://github.com/bbatsov/prelude ;; Version: 1.0.0 ;; Keywords: convenience ;; This file is not part of GNU Emacs. ;;; Commentary: ;; Some config for Helm that follows this guide: http://tuhdo.github.io/helm-intro.html ;;; License: ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License ;; as published by the Free Software Foundation; either version 3 ;; of the License, or (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Code: (prelude-require-packages '(helm helm-projectile)) (require 'helm) ;; must set before helm-config, otherwise helm use default ;; prefix "C-x c", which is inconvenient because you can ;; accidentally pressed "C-x C-c" (setq helm-command-prefix-key "C-c h") (require 'helm-config) (require 'helm-files) (require 'helm-grep) (define-key helm-map (kbd "") 'helm-execute-persistent-action) ; rebihnd tab to do persistent action (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal (define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z (define-key helm-grep-mode-map (kbd "") 'helm-grep-mode-jump-other-window) (define-key helm-grep-mode-map (kbd "n") 'helm-grep-mode-jump-other-window-forward) (define-key helm-grep-mode-map (kbd "p") 'helm-grep-mode-jump-other-window-backward) (when (executable-find "curl") (setq helm-google-suggest-use-curl-p t)) (setq helm-scroll-amount 4 ; scroll 4 lines other window using M-/M- helm-quick-update t ; do not display invisible candidates helm-ff-search-library-in-sexp t ; search for library in `require' and `declare-function' sexp. helm-split-window-default-side 'other ;; open helm buffer in another window helm-split-window-in-side-p t ;; open helm buffer inside current window, not occupy whole other window helm-buffers-favorite-modes (append helm-buffers-favorite-modes '(picture-mode artist-mode)) helm-candidate-number-limit 500 ; limit the number of displayed candidates helm-ff-file-name-history-use-recentf t helm-move-to-line-cycle-in-source t ; move to end or beginning of source ; when reaching top or bottom of source. helm-buffers-fuzzy-matching t ; fuzzy matching buffer names when non-nil ; useful in helm-mini that lists buffers ) (global-set-key (kbd "C-c h o") 'helm-occur) (global-set-key (kbd "C-c h g") 'helm-do-grep) (global-set-key (kbd "C-c h C-c w") 'helm-wikipedia-suggest) (global-set-key (kbd "C-c h x") 'helm-register) (global-set-key (kbd "C-c h SPC") 'helm-all-mark-rings) ;; PACKAGE: helm-projectile (require 'helm-projectile) (push "Press to navigate a project in Helm." prelude-tips) (provide 'prelude-helm) ;;; prelude-helm.el ends here