From c4b9bdd379e2b2c05870385b7be6233825bacdcf Mon Sep 17 00:00:00 2001 From: mcclurgm Date: Sun, 8 Dec 2019 09:47:09 -0700 Subject: [PATCH 1/4] Try using iter; no visible effect --- plugins/vim-emulation/vim-emulation.vala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/vim-emulation/vim-emulation.vala b/plugins/vim-emulation/vim-emulation.vala index 92b9b2c851..741ec9c321 100644 --- a/plugins/vim-emulation/vim-emulation.vala +++ b/plugins/vim-emulation/vim-emulation.vala @@ -201,7 +201,11 @@ public class Scratch.Plugins.VimEmulation : Peas.ExtensionBase, Peas.Activatable case Gdk.Key.Home: case Gdk.Key.@0: if (number == "") { - view.move_cursor (Gtk.MovementStep.DISPLAY_LINES, 1, false); + Gtk.TextIter insert; + // view.move_cursor (Gtk.MovementStep.PARAGRAPHS, 1, false); + var insert_mark = view.buffer.get_insert (); + view.buffer.get_iter_at_mark (out insert, insert_mark); + insert.set_line_offset (0); } else { number += "0"; } From aec6c963844509c8ca59d2e0a5862dbd2806d12f Mon Sep 17 00:00:00 2001 From: mcclurgm Date: Fri, 20 Mar 2020 11:38:03 -0600 Subject: [PATCH 2/4] Fix iter implementation --- plugins/vim-emulation/vim-emulation.vala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/vim-emulation/vim-emulation.vala b/plugins/vim-emulation/vim-emulation.vala index 741ec9c321..b75b569de8 100644 --- a/plugins/vim-emulation/vim-emulation.vala +++ b/plugins/vim-emulation/vim-emulation.vala @@ -201,11 +201,13 @@ public class Scratch.Plugins.VimEmulation : Peas.ExtensionBase, Peas.Activatable case Gdk.Key.Home: case Gdk.Key.@0: if (number == "") { + var buffer = view.buffer; Gtk.TextIter insert; - // view.move_cursor (Gtk.MovementStep.PARAGRAPHS, 1, false); - var insert_mark = view.buffer.get_insert (); - view.buffer.get_iter_at_mark (out insert, insert_mark); + buffer.get_iter_at_mark (out insert, buffer.get_insert ()); insert.set_line_offset (0); + buffer.place_cursor (insert); + print ("Vim Emulation: 0 take 2!"); + } else { number += "0"; } From ac79a8bc6aff86693e1a789e4783579116abee34 Mon Sep 17 00:00:00 2001 From: mcclurgm Date: Wed, 25 Mar 2020 11:43:18 -0600 Subject: [PATCH 3/4] Clean up comments, debug --- plugins/vim-emulation/vim-emulation.vala | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/vim-emulation/vim-emulation.vala b/plugins/vim-emulation/vim-emulation.vala index b75b569de8..252b3e3607 100644 --- a/plugins/vim-emulation/vim-emulation.vala +++ b/plugins/vim-emulation/vim-emulation.vala @@ -206,8 +206,6 @@ public class Scratch.Plugins.VimEmulation : Peas.ExtensionBase, Peas.Activatable buffer.get_iter_at_mark (out insert, buffer.get_insert ()); insert.set_line_offset (0); buffer.place_cursor (insert); - print ("Vim Emulation: 0 take 2!"); - } else { number += "0"; } From 0d4ba6a14bfecf09af171b9fc144186c21b9ef2a Mon Sep 17 00:00:00 2001 From: Michael McClurg Date: Wed, 10 Feb 2021 20:46:00 -0700 Subject: [PATCH 4/4] Simplify cursor movement --- plugins/vim-emulation/vim-emulation.vala | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/vim-emulation/vim-emulation.vala b/plugins/vim-emulation/vim-emulation.vala index 8dec1a909b..555975106f 100644 --- a/plugins/vim-emulation/vim-emulation.vala +++ b/plugins/vim-emulation/vim-emulation.vala @@ -212,11 +212,8 @@ public class Scratch.Plugins.VimEmulation : Peas.ExtensionBase, Peas.Activatable case Gdk.Key.Home: case Gdk.Key.@0: if (number == "") { - var buffer = view.buffer; - Gtk.TextIter insert; - buffer.get_iter_at_mark (out insert, buffer.get_insert ()); - insert.set_line_offset (0); - buffer.place_cursor (insert); + view.move_cursor (Gtk.MovementStep.PARAGRAPH_ENDS, -1, false); + view.move_cursor (Gtk.MovementStep.DISPLAY_LINE_ENDS, -1, false); } else { number += "0"; }