{"id":15707254,"url":"https://github.com/langston-barrett/spacelix","last_synced_at":"2026-02-02T22:04:29.307Z","repository":{"id":98472324,"uuid":"565205976","full_name":"langston-barrett/spacelix","owner":"langston-barrett","description":"Spacemacs-like configuration for Helix","archived":false,"fork":false,"pushed_at":"2022-11-12T17:08:59.000Z","size":5,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-30T16:15:59.787Z","etag":null,"topics":["helix","helix-editor","keybindings","spacemacs"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/langston-barrett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-11-12T17:05:33.000Z","updated_at":"2025-01-07T13:29:36.000Z","dependencies_parsed_at":"2023-06-01T21:30:47.705Z","dependency_job_id":null,"html_url":"https://github.com/langston-barrett/spacelix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/langston-barrett/spacelix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Fspacelix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Fspacelix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Fspacelix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Fspacelix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/langston-barrett","download_url":"https://codeload.github.com/langston-barrett/spacelix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Fspacelix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262361667,"owners_count":23299085,"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":["helix","helix-editor","keybindings","spacemacs"],"created_at":"2024-10-03T20:38:50.028Z","updated_at":"2026-02-02T22:04:24.281Z","avatar_url":"https://github.com/langston-barrett.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spacelix\n\nSpacelix is [Spacemacs][spacemacs] for [Helix][helix]! This project consists of\ntwo Helix configurations:\n\n- [spacemacs-compat.toml](./src/spacemacs-compat.toml) ports Spacemacs\n  keybindings to Helix. It's useful for Spacemacs users who would like to try\n  Helix and gradually learn new keybindings, rather than all at once.\n- [spacelix.toml](./src/spacelix.toml) is a Helix configuration built with\n  Spacemacs-style principles in mind, but it does not strive to emulate\n  Spacemacs. It often has shorter key sequences than `spacemacs-compat.toml`.\n\nThe remainder of this README discusses `spacelix.toml`, AKA Spacelix.\n\nThe Spacelix keybindings are designed according to the following goals:\n\n- [Mnemonic][pillar-mnemonic]: Key bindings are organized using mnemonic\n  prefixes like b for buffer, w for window, f for file, etc…\n- [Consistent][pillar-consistent]: Similar functionalities have the same key\n  binding everywhere thanks to a clearly defined set of conventions.\n- Safe: Spacelix avoids modifier keys (shift, ctrl) to reduce the risk of RSI.\n\n## Bindings\n\nSome of these bindings match Helix defaults, those are marked with \"(default)\".\n\n\u003c!-- - `SPC b w`: TODO buffer write? --\u003e\n\n- `SPC`\n  - `SPC SPC`: Command palette\n  - `SPC a`: Code action (default)\n  - `SPC b`: Buffers\n    - `SPC b b`: Buffer picker\n    - `SPC b d`: Close buffer (mnemonic: \"delete\")\n    - `SPC b D`: Force close buffer (`:buffer-close!`)\n    - `SPC b n`: Next buffer\n    - `SPC b p`: Previous buffer\n    - `SPC b r`: Reload buffer (`:reload`)\n    - `SPC b s`: Scratch buffer (`:new`)\n    - `SPC b y`: Yank buffer (`select_all`, `yank`)\n    - `SPC b Y`: Yank buffer to system clipboard (`select_all`,\n      `:clipboard-yank`)\n  - `SPC c`: Case (select mode only)\n    - `SPC c c`: Toggle case\n    - `SPC c u`: Uppercase\n    - `SPC c l`: Lowercase\n  - `SPC d`: Debug (default)\n  - `SPC e`: Errors\n    - `SPC e g`: Go to first error\n    - `SPC e G`: Go to last error\n    - `SPC e l`: List errors (diagnostic picker)\n    - `SPC e n`: Go to next error\n    - `SPC e p`: Go to previous error\n  - `SPC f`: File picker\n  - `SPC o`: Reserved for user mappings\n  - `SPC q`: Quit\n    - `SPC q a`: Quit all (`:quit-all`)\n    - `SPC q A`: Force quit all (`:quit-all!`)\n    - `SPC q c`: Quit with exit code (`:cquit`)\n    - `SPC q C`: Force quit with exit code (`:cquit!`)\n    - `SPC q q`: Quit (`:quit`)\n    - `SPC q Q`: Force quit (`:quit!`)\n    - `SPC q w`: Write and quit (`:write-quit`)\n    - `SPC q W`: Force write and quit (`:write-quit!`)\n  - `SPC g`: Go to\n    - `SPC g f`: Go to file\n      - `SPC g f a`: Go to last accessed file\n      - `SPC g f f`: Go to files in selection\n      - `SPC g f m`: Go to last modified file\n      - `SPC g f h`: Go to files in selection (horizontal split)\n      - `SPC g f v`: Go to files in selection (vertical split)\n    - `SPC g d`: Go to definition\n    - `SPC g g`: Go to first line of file\n    - `SPC g G`: Go to last line of file\n    - `SPC g h`: Go to start of line\n    - `SPC g i`: Go to implementation\n    - `SPC g l`: Go to end of line\n    - `SPC g m`: Go to last modification\n    - `SPC g t`: Go to top of window\n    - `SPC g b`: Go to bottom of window\n    - `SPC g c`: Go to center of window\n    - `SPC g r`: Go to references\n    - `SPC g s`: Go to symbol definition (symbol picker)\n    - `SPC g w`: Go to first non-whitespace character in line\n    - `SPC g y`: Go to type definition\n  - `SPC h`: Global search\n  - `SPC j`: Jumplist\n    - `SPC j j`: Open the jumplist picker\n    - `SPC j n`: Jump forward in the jumplist (mnemonic: \"next\")\n    - `SPC j p`: Jump backward in the jumplist (mnemonic: \"previous\")\n    - `SPC j s`: Save current selection in the jumplist\n  - `SPC s`: Save (`:write`)\n  - `SPC r`: Rename symbol (default)\n  - `SPC w`: Windows\n    - `SPC w d`: Close window (mnemonic: \"delete\")\n    - `SPC w h`: Go to window (left) (default)\n    - `SPC w j`: Go to window (down) (default)\n    - `SPC w k`: Go to window (up) (default)\n    - `SPC w l`: Go to window (right) (default)\n    - `SPC w o`: Close windows other than current (default)\n    - `SPC w H`: Swap window (left) (default)\n    - `SPC w J`: Swap window (down) (default)\n    - `SPC w K`: Swap window (up) (default)\n    - `SPC w L`: Swap window (right) (default)\n  - `SPC X`: Helix\n    - `SPC X f`: Open configuration file\n    - `SPC X l`: Open the Helix log file\n    - `SPC X r`: Reload configuration\n    - `SPC X t`: Tutor\n\nThe following key bindings are for `vi`/Spacemacs-emulation purposes.\n\n- Normal mode:\n  - `0`: Go to start of line\n  - `$`: Go to end of line\n  - `H`: Go to top of window\n  - `L`: Go to bottom of window\n  - `M`: Go to center of window\n- Select mode:\n  - `0`: Go to start of line\n  - `$`: Go to end of line\n  - `H`: Select previous sibling\n\nAnd the following are just for good measure:\n\n- Select mode:\n  - `J`: Shrink selection\n  - `K`: Expand selection\n  - `L`: Select next sibling\n  - `M`: Go to center of window\n\n## Installation\n\nBack up your existing Helix configuration, then:\n```sh\ncurl -L -o ~/.config/helix/config.toml https://raw.githubusercontent.com/langston-barrett/spacelix/main/src/spacelix.toml\n```\n\n## Conventions and Mnemonics\n\n- `n` means \"next\", preferred over \"forward\"\n- `p` means \"previous\", preferred over \"backward\"\n\n[helix]: https://helix-editor.com/\n[pillars]: https://www.spacemacs.org/doc/DOCUMENTATION.html#core-pillars\n[pillar-mnemonic]: https://www.spacemacs.org/doc/DOCUMENTATION.html#mnemonic\n[pillar-consistent]: https://www.spacemacs.org/doc/DOCUMENTATION.html#consistent\n[spacemacs]: https://www.spacemacs.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flangston-barrett%2Fspacelix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flangston-barrett%2Fspacelix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flangston-barrett%2Fspacelix/lists"}