[gnome-builder] vim: let 'p' behave like in vim
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] vim: let 'p' behave like in vim
- Date: Wed, 14 Oct 2015 14:44:01 +0000 (UTC)
commit 6696b5faf165a374cf0adadcd6d02762e0504729
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 a8f3145..f962b7c 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]