diff --git a/yazi-config/preset/keymap.toml b/yazi-config/preset/keymap.toml index 52021f80..64e35c75 100644 --- a/yazi-config/preset/keymap.toml +++ b/yazi-config/preset/keymap.toml @@ -63,6 +63,7 @@ keymap = [ { on = [ "" ], exec = "open", desc = "Open the selected files" }, { on = [ "" ], exec = "open --interactive", desc = "Open the selected files interactively" }, { on = [ "y" ], exec = [ "yank", "escape --visual --select" ], desc = "Copy the selected files" }, + { on = [ "Y" ], exec = [ "unyank", "escape --visual --select" ], desc = "Remove the files from the yank clipboard" }, { on = [ "x" ], exec = [ "yank --cut", "escape --visual --select" ], desc = "Cut the selected files" }, { on = [ "p" ], exec = "paste", desc = "Paste the files" }, { on = [ "P" ], exec = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, diff --git a/yazi-core/src/manager/commands/yank.rs b/yazi-core/src/manager/commands/yank.rs index 7f1209a5..41605ed9 100644 --- a/yazi-core/src/manager/commands/yank.rs +++ b/yazi-core/src/manager/commands/yank.rs @@ -18,4 +18,9 @@ impl Manager { self.yanked.1 = self.selected().into_iter().map(|f| f.url()).collect(); render!(); } + + pub fn unyank(&mut self) -> bool { + self.yanked = Default::default(); + true + } }