From 9ba773c4a4e5ddf60abde758c2c872703efe7964 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sun, 3 Mar 2024 17:27:20 +0100 Subject: [PATCH] fix: change word vim mode command (cw) --- src/tui/mode/input/vim/normal.zig | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/tui/mode/input/vim/normal.zig b/src/tui/mode/input/vim/normal.zig index a8d24e9..5eca4a2 100644 --- a/src/tui/mode/input/vim/normal.zig +++ b/src/tui/mode/input/vim/normal.zig @@ -340,10 +340,28 @@ fn mapFollower(self: *Self, keypress: u32, egc: u32, modifiers: u32) tp.result { else => {}, }, 0 => switch (ldr.keypress) { - 'D', 'C' => { + 'C' => { try switch (modifiers) { - mod.SHIFT => switch (keypress) { - '4' => self.cmd("delete_to_end", .{}), + mod.SHIFT => switch (egc) { + '$' => self.cmd("delete_to_end", .{}), + else => {}, + }, + 0 => switch (keypress) { + 'W', 'E' => self.seq_count(.{ "select_word_right", "cut" }, .{}), + else => {}, + }, + else => switch (egc) { + '$' => self.cmd("delete_to_end", .{}), + else => {}, + }, + }; + if (ldr.keypress == 'C') + try self.cmd("enter_mode", command.fmt(.{"vim/insert"})); + }, + 'D' => { + try switch (modifiers) { + mod.SHIFT => switch (egc) { + '$' => self.cmd("delete_to_end", .{}), else => {}, }, 0 => switch (keypress) {