[gnome-builder] vim: fix z. z- z<cr> to end up on first non-blank char



commit b37022e3a6a03bc3d71b78b0785e5228e364e267
Author: Sebastien Lafargue <slafargue gnome org>
Date:   Wed Nov 18 16:08:47 2015 +0100

    vim: fix z. z- z<cr> to end up on first non-blank char

 data/keybindings/vim.css           |    8 ++++----
 libide/ide-source-view-movements.c |    8 ++++++++
 2 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/data/keybindings/vim.css b/data/keybindings/vim.css
index d8733d5..6b4d83f 100644
--- a/data/keybindings/vim.css
+++ b/data/keybindings/vim.css
@@ -1241,14 +1241,14 @@
 @binding-set builder-vim-source-view-normal-z
 {
   bind "z" { "movement" (scroll-screen-center, 0, 0, 1) };
-  bind "period" { "movement" (scroll-screen-center, 0, 0, 1) };
+  bind "period" { "movement" (scroll-screen-center, 0, 1, 1) };
 
   bind "t" { "movement" (scroll-screen-top,    0, 0, 1) };
-  bind "Return" { "movement" (scroll-screen-top, 0, 0, 1) };
-  bind "KP_Enter" { "movement" (scroll-screen-top, 0, 0, 1) };
+  bind "Return" { "movement" (scroll-screen-top, 0, 1, 1) };
+  bind "KP_Enter" { "movement" (scroll-screen-top, 0, 1, 1) };
 
   bind "b" { "movement" (scroll-screen-bottom, 0, 0, 1) };
-  bind "minus" { "movement" (scroll-screen-bottom, 0, 0, 1) };
+  bind "minus" { "movement" (scroll-screen-bottom, 0, 1, 1) };
 }
 
 @binding-set builder-vim-source-view-normal-Z
diff --git a/libide/ide-source-view-movements.c b/libide/ide-source-view-movements.c
index 03e2556..d03401e 100644
--- a/libide/ide-source-view-movements.c
+++ b/libide/ide-source-view-movements.c
@@ -1531,6 +1531,14 @@ ide_source_view_movements_scroll_center (Movement *mv)
       break;
     }
 
+  g_printf ("str:'%s'\n", mv->command_str->str);
+
+  if (g_str_has_suffix (mv->command_str->str, "-") ||
+      g_str_has_suffix (mv->command_str->str, ".") ||
+      g_str_has_suffix (mv->command_str->str, "[Return]") ||
+      g_str_has_suffix (mv->command_str->str, "[KP_Enter]"))
+    ide_source_view_movements_first_nonspace_char (mv);
+
   mv->ignore_scroll_to_insert = TRUE;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]