[gnome-builder/gnome-builder-3-18] vim: let 'p' behave like in vim
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-18] vim: let 'p' behave like in vim
- Date: Thu, 15 Oct 2015 14:42:06 +0000 (UTC)
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]