From fa3c0abc0884c11b8080486bf01eebb6a04ffd53 Mon Sep 17 00:00:00 2001
From: David Li 
Date: Mon, 21 Mar 2016 21:14:58 -0400
Subject: Use visual BOL/EOL when visual-line-mode active
---
 init.el | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
diff --git a/init.el b/init.el
index 5582351..1027b2c 100644
--- a/init.el
+++ b/init.el
@@ -90,6 +90,20 @@ This functions should be added to the hooks of major modes for programming."
 
 (advice-add 'evil-previous-line :around 'evil-previous-line--check-visual-line-mode)
 
+(defun evil-beginning-of-line--check-visual-line-mode (orig-fun &rest args)
+  (if visual-line-mode
+      (apply 'evil-beginning-of-visual-line args)
+    (apply orig-fun args)))
+
+(advice-add 'evil-beginning-of-line :around 'evil-beginning-of-line--check-visual-line-mode)
+
+(defun evil-end-of-line--check-visual-line-mode (orig-fun &rest args)
+  (if visual-line-mode
+      (apply 'evil-end-of-visual-line args)
+    (apply orig-fun args)))
+
+(advice-add 'evil-end-of-line :around 'evil-end-of-line--check-visual-line-mode)
+
 (require 'evil-little-word)
 (define-key evil-motion-state-map (kbd "w") 'evil-forward-little-word-begin)
 (define-key evil-motion-state-map (kbd "glw") 'evil-forward-word-begin)
-- 
cgit v1.2.3