# Editors Three editors are configured and deployed by the `shell` component: Neovim (primary), Micro (lightweight), and Yazi (terminal file manager). --- ## Neovim Config lives in `nvim/`. Deployed to `~/.config/nvim/` during `shell` module install. ### Plugin Manager [vim-plug](https://github.com/junegunn/vim-plug) is auto-installed on first launch. Run `:PlugInstall` after the first start to fetch all plugins. ### Plugins #### Language & Completion | Plugin | Purpose | |--------|---------| | `neoclide/coc.nvim` | LSP client, auto-completion, diagnostics | | `rust-lang/rust.vim` | Rust filetype support | | `nvim-telescope/telescope.nvim` | Fuzzy finder (files, grep, LSP symbols) | #### UI | Plugin | Purpose | |--------|---------| | `vim-airline/vim-airline` | Status bar | | `vim-airline/vim-airline-themes` | Airline theme collection | | `junegunn/goyo.vim` | Distraction-free writing mode | | `voldikss/vim-floaterm` | Floating terminal windows | | `norcalli/nvim-colorizer.lua` | Inline colour preview | #### Navigation | Plugin | Purpose | |--------|---------| | `preservim/nerdtree` | File tree sidebar | | `junegunn/fzf` + `fzf.vim` | Fuzzy file/buffer search | | `elihunter173/dirbuf.nvim` | Editable directory buffer | #### Snippets | Plugin | Purpose | |--------|---------| | `SirVer/ultisnips` | Snippet engine | | `honza/vim-snippets` | Snippet collection | #### Database | Plugin | Purpose | |--------|---------| | `tpope/vim-dadbod` | Database query runner | | `kristijanhusak/vim-dadbod-ui` | GUI for vim-dadbod | #### Markdown | Plugin | Purpose | |--------|---------| | `tadmccorkle/markdown.nvim` | Enhanced Markdown support | | `ellisonleao/glow.nvim` | Markdown preview in terminal | #### Theme | Plugin | Purpose | |--------|---------| | `the_miro/cyberqueer.nvim` | CyberQueer colour scheme (local) | ### CoC LSP Settings `nvim/coc-settings.json` configures language servers for: - Python (pyright) - Lua (lua-language-server) - Rust (rust-analyzer via rust.vim) ### CyberQueer Airline Theme `nvim/cyberqueer-airline.vim` — a custom vim-airline theme using the CyberQueer palette, providing hot-pink/violet segments in the status bar. --- ## Micro A modern, keyboard-friendly terminal editor. Config in `micro/`. Deployed to `~/.config/micro/`. ### Settings (`settings.json`) | Setting | Value | Effect | |---------|-------|--------| | `colorscheme` | `miro-darcula` | Custom dark colour scheme | | Various | — | File-type-specific settings | ### Keybindings (`bindings.json`) Custom keybindings extending Micro's defaults. See `micro/bindings.json` for the full list. ### Colour Schemes `micro/colorschemes/` contains additional colour scheme definitions including the custom `miro-darcula` scheme. ### Plugins (`micro/plug/`) | Plugin | Purpose | |--------|---------| | `filemanager` | Sidebar file browser | | `mlsp` | Language Server Protocol integration | --- ## Yazi A fast, feature-rich terminal file manager written in Rust. Config in `yazi/`. Deployed to `~/.config/yazi/`. ### Configuration Files | File | Purpose | |------|---------| | `yazi.toml` | Core settings (openers, file rules, display) | | `theme.toml` | CyberQueer colour palette | | `keymap.toml` | Keybindings (17 KB, extensively customised) | ### Theme `yazi/theme.toml` maps the CyberQueer colours to Yazi's theme variables. It is a colour-substitution target in `apply-theme.sh`, so it updates automatically when you change the palette. ### File Openers | File type | Opens with | |-----------|-----------| | `*.svg` | Inkscape | | Text files | Neovim | | Everything else | `xdg-open` (system default) | ### Display Options - Hidden files visible by default - Symlinks shown and followed - Three-pane layout (parent, current, preview) --- ## Launching Editors From the Hyprland desktop: | Shortcut | Action | |----------|--------| | `Super + M` | Open Micro in Kitty | | `Super + E` | Open Yazi in Kitty | | `Super + T` then `nvim` | Neovim in terminal | From the shell: ```bash nvim file.rs # Neovim micro config.yaml # Micro yazi # Yazi file manager ```