{"id":19113452,"url":"https://github.com/fielding/vim-chunkwm-navigator","last_synced_at":"2025-04-30T22:15:12.976Z","repository":{"id":143061345,"uuid":"115056679","full_name":"fielding/vim-chunkwm-navigator","owner":"fielding","description":"This plugin will allow you to navigate seamlessly between Vim/Neovim splits and native mac os windows managed by chunkwm using a consistent set of hotkeys.","archived":false,"fork":false,"pushed_at":"2018-11-07T04:12:45.000Z","size":8,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T22:15:05.290Z","etag":null,"topics":["chunkwm","vim"],"latest_commit_sha":null,"homepage":null,"language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fielding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-21T23:38:06.000Z","updated_at":"2019-02-15T03:42:36.000Z","dependencies_parsed_at":"2023-06-25T22:43:17.867Z","dependency_job_id":null,"html_url":"https://github.com/fielding/vim-chunkwm-navigator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fielding%2Fvim-chunkwm-navigator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fielding%2Fvim-chunkwm-navigator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fielding%2Fvim-chunkwm-navigator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fielding%2Fvim-chunkwm-navigator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fielding","download_url":"https://codeload.github.com/fielding/vim-chunkwm-navigator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789618,"owners_count":21644086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chunkwm","vim"],"created_at":"2024-11-09T04:36:21.191Z","updated_at":"2025-04-30T22:15:12.970Z","avatar_url":"https://github.com/fielding.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"Vim Chunkwm Navigator\n==================\n\nThis plugin will allow you to navigate seamlessly between Vim/Neovim splits and\nnative mac os windows managed by chunkwm using a consistent set of hotkeys. The\nsecret sauce that allows this to work is the combination of [Åsmund Vikane][]'s\n[chunkwm][], a tiling window manager, and a hotkey daemon(e.g. [khd][] or\n[skhd][]).\n\nThis is **oh so heavily** based off [Chris Toomey][]'s [vim-tmux-navigator][].\nFor educational purposes I have structured the code like [vim-tmux-navigator][]\ndue to my lack of vimscript experience. I have taken the time to implement\neverything as if it were from scratch in a progressive manner (as the need\npresented itself) for my educational benefit. In the end, I hope to have\nscratched my own itch, while deepening my vim knownledge.\n\n**IMPORTANT: This requires [chunkwm][], or similar window manager and your\nhacking on supplied scripts, and a third party hotkey daemon(e.g. [khd][] or\n[skhd][])**\n\nUsage\n-----\n\nThis plugin provides the following mappings which allow you to move between\nVim/Neovim pane splits and native macos windows seamlessly.\n\n- `\u003cctrl-h\u003e` =\u003e Left\n- `\u003cctrl-j\u003e` =\u003e Down\n- `\u003cctrl-k\u003e` =\u003e Up\n- `\u003cctrl-l\u003e` =\u003e Right\n\n**Note** - Even if you use a modal hotkey daemon, you can bind these to the\ndefault mode.\n\nIf you want to use alternate key mappings, see the [configuration section\nbelow][].\n\nInstallation\n------------\n\n### Vim/Neovim\n\nIf you don't have a preferred installation method, I recommend using [vim-plug][].\nAssuming you have vim-plug installed and configured, the following steps will\ninstall the plugin:\n\nAdd the following line to your `.vimrc` or `init.vim` file\n\n``` vim\nPlug 'fielding/vim-chunkwm-navigator'\n```\n\nThen run\n\n```\n:PlugInstall\n```\n\n### readline\n\n`.inputrc`\n\n```\n# allow chunkwm to pass through ctrl-h/j/k/l so that vim can switch panes without triggering shell escape characters\n'\"\\C-l\":'\n'\"\\C-h\":'\n'\"\\C-j\":'\n'\"\\C-k\":'\n```\n\n### Hotkey Daemon or other third party key mapping method\n\nTo configure the chunkw side of this customization we must use a third party\nhotkey daemon(e.g. [khd][] or [skhd][]). I will try include configurations for\nany submitted by others.\n\n#### skhd\n\nFor [skhd][] edit any existing bindings to `ctrl - h`, `ctrl - j`, `ctrl -\nk`, and `ctrl - l` in `~/.skhdrc` to match the following snippet:\n\n``` skhdrc\nctrl - h -\u003e         : if [[ \"$(chunkc tiling::query --window name)\" != *\"vim\"* ]]; then chunkc tiling::window --focus west; fi\nctrl - l -\u003e         : if [[ \"$(chunkc tiling::query --window name)\" != *\"vim\"* ]]; then chunkc tiling::window --focus west; fi\nctrl - j -\u003e         : if [[ \"$(chunkc tiling::query --window name)\" != *\"vim\"* ]]; then chunkc tiling::window --focus west; fi\nctrl - k -\u003e         : if [[ \"$(chunkc tiling::query --window name)\" != *\"vim\"* ]]; then chunkc tiling::window --focus west; fi\n```\n\nTODO\n----\n\n- [ ] Add `previous` to the list of binds/focus change options\n- [ ] Correct how it handles the wrapping around from window back in to vim/nvim\n- [ ] README: Finish!\n  - [ ] add confguraton section\n  - [ ] ~~add khd configuration~~\n  - [ ] add tidbit about terminal title\n\n\n[Chris Toomey]: https://github.com/christoomey\n[vim-tmux-navigator]: https://github.com/christoomey/vim-tmux-navigator\n[Åsmund Vikane]: https://github.com/koekeishiya\n[chunkwm]: https://github.com/koekeishiya/chunkwm\n[khd]:https://github.com/koekeishiya/khd\n[skhd]: https://github.com/koekeishiya/skhd\n[vim-plug]: https://github.com/junegunn/vim-plug","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffielding%2Fvim-chunkwm-navigator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffielding%2Fvim-chunkwm-navigator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffielding%2Fvim-chunkwm-navigator/lists"}