 (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
 (package-initialize)
 
+;;; ----------------------------------------------------------------------
+;;; https://github.com/abo-abo
+
+(when (require 'ivy nil 'noerror)
+  (ivy-mode)
+  (setq ivy-use-virtual-buffers t)
+  (global-set-key (kbd "C-s") 'swiper)
+  (global-set-key (kbd "C-S-s") 'isearch-forward)
+  (global-set-key (kbd "M-x") 'counsel-M-x)
+  (global-set-key (kbd "C-x C-f") 'counsel-find-file)
+  (global-set-key (kbd "C-c p") 'ivy-push-view)
+  (global-set-key (kbd "C-c P") 'ivy-pop-view))
+
+(when (require 'avy nil 'noerror)
+  (setq avy-all-windows 'all-frames)
+  (global-set-key (kbd "C-;") 'avy-goto-word-or-subword-1)
+  (global-set-key (kbd "C-:") 'avy-goto-char-timer) ; avy-goto-char-2 ?
+  (global-set-key (kbd "C-x SPC") 'avy-pop-mark))
+
+(when (require 'ace-window nil 'noerror)
+  (global-set-key (kbd "M-p") 'ace-window))
+;;; ----------------------------------------------------------------------
+
 (when (file-accessible-directory-p "/opt/local/share/info/")
   ;; # Create a `dir' file, if necessary:
   ;; cd /opt/local/share/info

;;; -*- coding: utf-8-unix -*-

(server-start)

(setq inhibit-startup-message t) ; don't show startup screen


 '(initial-frame-alist (quote ((height . 46) (width . 80) (top . 0))))
 '(mouse-wheel-scroll-amount (quote (1 ((shift) . 1) ((control)))))
 '(org-modules nil)
 '(package-selected-packages
   (quote
    (rust-mode fill-column-indicator haskell-mode yaml-mode counsel org ace-window swiper ggtags))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
