[gnome-builder/gnome-builder-3-18] vim: let 'p' behave like in vim



commit fc2aefa12e43525af425486d76673edc2472da30
Author: Sebastien Lafargue <slafargue gnome org>
Date:   Wed Oct 14 15:22:55 2015 +0200

    vim: let 'p' behave like in vim
    
    fix 'p' pasting to the next line on empty lines
    
    fix 'p' going to the next line after pasting
    
    fix cursor position after pasting
    (need to be on the last character )

 data/keybindings/vim.css |    9 +++------
 libide/ide-source-view.c |    3 ++-
 2 files changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/data/keybindings/vim.css b/data/keybindings/vim.css
index 83ffb44..577b565 100644
--- a/data/keybindings/vim.css
+++ b/data/keybindings/vim.css
@@ -391,13 +391,10 @@
                    "clear-selection" () };
 
   bind "p" { "begin-macro" ()
-             "save-insert-mark" ()
-             "paste-clipboard-extended" (1, 1, 1)
+             "paste-clipboard-extended" (1, 1, 0)
+             "movement" (previous-char, 0, 1, 0)
              "clear-count" ()
-             "restore-insert-mark" ()
-             "end-macro" ()
-             "movement" (next-line, 0, 0, 0)
-             "movement" (first-nonspace-char, 0, 1, 0) };
+             "end-macro" () };
   bind "<shift>p" { "begin-macro" ()
                     "paste-clipboard-extended" (1, 0, 1)
                     "clear-count" ()
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index 896f673..2033997 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -2947,7 +2947,8 @@ ide_source_view_real_paste_clipboard_extended (IdeSourceView *self,
       if (after_cursor)
         {
           gtk_text_buffer_get_iter_at_mark (buffer, &iter, insert);
-          gtk_text_iter_forward_char (&iter);
+          if (!gtk_text_iter_ends_line (&iter))
+            gtk_text_iter_forward_char (&iter);
           gtk_text_buffer_select_range (buffer, &iter, &iter);
         }
 


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