From efa31f7d61d6807713ff85afc9789e00c5cfa460 Mon Sep 17 00:00:00 2001 From: Thomas Naderer Date: Tue, 28 Jan 2025 13:44:25 +0100 Subject: [PATCH] Updated Keymaps for Yazi, installed jump to char plugin --- yazi/keymap.toml | 21 +++++++++++-- yazi/package.toml | 5 ++++ .../DO_NOT_MODIFY_ANYTHING_IN_THIS_DIRECTORY | 0 yazi/plugins/jump-to-char.yazi/LICENSE | 21 +++++++++++++ yazi/plugins/jump-to-char.yazi/README.md | 28 +++++++++++++++++ yazi/plugins/jump-to-char.yazi/init.lua | 30 +++++++++++++++++++ yazi/yazi.toml | 13 ++++++-- 7 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 yazi/package.toml create mode 100644 yazi/plugins/jump-to-char.yazi/DO_NOT_MODIFY_ANYTHING_IN_THIS_DIRECTORY create mode 100644 yazi/plugins/jump-to-char.yazi/LICENSE create mode 100644 yazi/plugins/jump-to-char.yazi/README.md create mode 100644 yazi/plugins/jump-to-char.yazi/init.lua diff --git a/yazi/keymap.toml b/yazi/keymap.toml index 6edd082..3501fa1 100644 --- a/yazi/keymap.toml +++ b/yazi/keymap.toml @@ -4,6 +4,7 @@ [manager] + keymap = [ { on = "", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, { on = "", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, @@ -127,13 +128,22 @@ keymap = [ { on = [ "g", "h" ], run = "cd ~", desc = "Go home" }, { on = [ "g", "c" ], run = "cd ~/.config", desc = "Goto ~/.config" }, { on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Goto ~/Downloads" }, + { on = [ "g", "D" ], run = "cd ~/Documents", desc = "Goto ~/Documents" }, { on = [ "g", "t" ], run = "cd ~/Torrents", desc = "Goto ~/Torrents" }, - { on = [ "g", "t" ], run = "cd ~/Torrents", desc = "Goto ~/Torrents" }, - { on = [ "g", "a" ], run = "cd /Volumes/AK127132", desc = "Goto AK127132" }, - { on = [ "g", "i" ], run = "cd /Volumes/intern", desc = "Goto intern" }, + { on = [ "g", "s" ], run = "cd \"~/Music/Sheet Music/Alto Saxophone\"", desc = "Goto Sax Sheets" }, { on = [ "g", "o" ], run = "cd ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Privat", desc = "Goto ~/Obsidian" }, + { on = [ "g", "v" ], run = "cd /Volumes", desc = "Goto /Volumes" }, { on = [ "g", "" ], run = "cd --interactive", desc = "Jump interactively" }, + #Work Related - Network drive + { on = [ "g", "a" ], run = "cd /Volumes/AK127132", desc = "Goto AK127132" }, + { on = [ "g", "z" ], run = "cd /Volumes/AK127132/Zeitaufzeichnung", desc = "Goto Zeitaufzeichnung" }, + { on = [ "g", "i" ], run = "cd /Volumes/ipec/intern", desc = "Goto Intern" }, + { on = [ "g", "B" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P54_Brückner EDIH\"", desc = "Goto Brückner" }, + { on = [ "g", "S" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P42b_Senoplast SenoSmartCoex\"", desc = "Goto SenoSmartCoex" }, + { on = [ "g", "I" ], run = "cd \"/Volumes/ipec/intern/05_Institutsbesprechungen\"", desc = "Goto Institutsbesprechungen" }, + + { on = "R", run = "open -a \"Finder\" .", desc = "Open current folder in Finder" }, # Tabs { on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" }, @@ -358,3 +368,8 @@ keymap = [ # Filtering { on = "f", run = "filter", desc = "Apply a filter for the help items" }, ] + +[[manager.prepend_keymap]] +on = "f" +run = "plugin jump-to-char" +desc = "Jump to char" diff --git a/yazi/package.toml b/yazi/package.toml new file mode 100644 index 0000000..0a3a1c9 --- /dev/null +++ b/yazi/package.toml @@ -0,0 +1,5 @@ +[plugin] +deps = [{ use = "yazi-rs/plugins:jump-to-char", rev = "600614a" }] + +[flavor] +deps = [] diff --git a/yazi/plugins/jump-to-char.yazi/DO_NOT_MODIFY_ANYTHING_IN_THIS_DIRECTORY b/yazi/plugins/jump-to-char.yazi/DO_NOT_MODIFY_ANYTHING_IN_THIS_DIRECTORY new file mode 100644 index 0000000..e69de29 diff --git a/yazi/plugins/jump-to-char.yazi/LICENSE b/yazi/plugins/jump-to-char.yazi/LICENSE new file mode 100644 index 0000000..fb5b1d6 --- /dev/null +++ b/yazi/plugins/jump-to-char.yazi/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 yazi-rs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/yazi/plugins/jump-to-char.yazi/README.md b/yazi/plugins/jump-to-char.yazi/README.md new file mode 100644 index 0000000..4c8cdbb --- /dev/null +++ b/yazi/plugins/jump-to-char.yazi/README.md @@ -0,0 +1,28 @@ +# jump-to-char.yazi + +Vim-like `f`, jump to the next file whose name starts with ``. + +https://github.com/yazi-rs/plugins/assets/17523360/aac9341c-b416-4e0c-aaba-889d48389869 + +## Installation + +```sh +ya pack -a yazi-rs/plugins:jump-to-char +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[manager.prepend_keymap]] +on = "f" +run = "plugin jump-to-char" +desc = "Jump to char" +``` + +Make sure the f key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/yazi/plugins/jump-to-char.yazi/init.lua b/yazi/plugins/jump-to-char.yazi/init.lua new file mode 100644 index 0000000..827cde9 --- /dev/null +++ b/yazi/plugins/jump-to-char.yazi/init.lua @@ -0,0 +1,30 @@ +local AVAILABLE_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789." + +local changed = ya.sync(function(st, new) + local b = st.last ~= new + st.last = new + return b or not cx.active.finder +end) + +local escape = function(s) return s == "." and "\\." or s end + +return { + entry = function() + local cands = {} + for i = 1, #AVAILABLE_CHARS do + cands[#cands + 1] = { on = AVAILABLE_CHARS:sub(i, i) } + end + + local idx = ya.which { cands = cands, silent = true } + if not idx then + return + end + + local kw = escape(cands[idx].on) + if changed(kw) then + ya.manager_emit("find_do", { "^" .. kw }) + else + ya.manager_emit("find_arrow", {}) + end + end, +} diff --git a/yazi/yazi.toml b/yazi/yazi.toml index 7ef3be2..927cc62 100644 --- a/yazi/yazi.toml +++ b/yazi/yazi.toml @@ -1,2 +1,11 @@ -max_width=1000 -max_height=1500 +max_width=3000 +max_height=3000 + +[opener] +play = [ + { run = 'open -a IINA "$@"', orphan = true, for = "unix", desc='IINA'} +] + + + +