 	ivy-wrap t
 	counsel-switch-buffer-preview-virtual-buffers nil
 	ivy-truncate-lines t)
+  (add-hook 'ivy-mode-hook
+	    (lambda ()
+	      (define-key ivy-mode-map (kbd "M-n") 'ivy-next-history-element)
+	      (define-key ivy-mode-map (kbd "M-p") 'ivy-previous-history-element)))
   :config
   (ivy-mode 1))
-
-(use-package ivy-posframe
-  ;; https://github.com/tumashu/ivy-posframe
-  ;; Let ivy use posframe to show its candidate menu
-  :after ivy
-  :init
-  (setq ivy-posframe-display-functions-alist
-	'((t . ivy-posframe-display-at-window-bottom-left)
-	  (counsel-find-file . ivy-display-function-fallback))
-	ivy-posframe-hide-minibuffer t
-	ivy-posframe--ignore-prompt nil
-	ivy-posframe-parameters '((left-fringe . 8)
-				  (right-fringe . 8)
-				  (lines-truncate . t)))
-  :config
-  (ivy-posframe-mode 1))
-
-;;;###autoload
-(defun danylo/ivy-posframe-get-size ()
-  "The function which is used to deal with ivy posframe's size."
-  (list
-   :height ivy-posframe-height
-   :width ivy-posframe-height
-   :min-height (or ivy-posframe-min-height ivy-height)
-   :min-width (or ivy-posframe-min-width (round (* (window-width) 1.0)))))
-
-(with-eval-after-load "ivy-posframe"
-  (setq ivy-posframe-size-function #'danylo/ivy-posframe-get-size))
 
 (use-package counsel-projectile
   ;; https://github.com/ericdanan/counsel-projectile

    "Put thing at point in swiper buffer"
    (interactive)
    (deactivate-mark)
    (danylo/ivy-with-thing-at-point 'swiper-isearch)
    )

;;;###autoload
(defun danylo/counsel-switch-buffer-no-preview ()
  "Switch to another buffer without preview."
  (interactive)
  (ivy-switch-buffer))

(use-package counsel)
(use-package swiper)

	 ("C-l" . ivy-backward-delete-char)
	 ("TAB" . ivy-alt-done))
  :init
  (setq ivy-display-functions-alist
	'((t . danylo/ivy-display-function-window))
	ivy-use-virtual-buffers nil
	enable-recursive-minibuffers t
	;; Remove the default "^" in search string
	;; Source: https://emacs.stackexchange.com/a/38842/13661
